国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

uni-app 實現(xiàn)文件上傳

這篇具有很好參考價值的文章主要介紹了uni-app 實現(xiàn)文件上傳。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在使用若依的框架時,發(fā)現(xiàn)若依移動端框架中已經封裝好了一個upload.js用于文件上傳,自己在這個版本的基礎上稍作改動,成功實現(xiàn)文件上傳功能

若依公共的 upload.js?

import store from '@/store'
import config from '@/config'
import { getToken } from '@/utils/auth'
import errorCode from '@/utils/errorCode'
import { toast, showConfirm, tansParams } from '@/utils/common'

let timeout = 10000
const baseUrl = config.baseUrl

const upload = config => {
  // 是否需要設置 token
  const isToken = (config.headers || {}).isToken === false
  config.header = config.header || {}
  if (getToken() && !isToken) {
    config.header['Authorization'] = 'Bearer ' + getToken()
  }
  // get請求映射params參數(shù)
  if (config.params) {
    let url = config.url + '?' + tansParams(config.params)
    url = url.slice(0, -1)
    config.url = url
  }
  return new Promise((resolve, reject) => {
      uni.uploadFile({
        timeout: config.timeout || timeout,
		url: baseUrl + config.url,
        filePath: config.data,
        name: config.name || 'file',
        header: config.header,
        formData: config.formData,
        success: (res) => {
          let result = JSON.parse(res.data)
          const code = result.code || 200
          const msg = errorCode[code] || result.msg || errorCode['default']
          if (code === 200) {
            resolve(result)
          } else if (code == 401) {
            showConfirm("登錄狀態(tài)已過期,您可以繼續(xù)留在該頁面,或者重新登錄?").then(res => {
              if (res.confirm) {
                store.dispatch('LogOut').then(res => {
                  uni.reLaunch({ url: '/pages/login/login' })
                })
              }
            })
            reject('無效的會話,或者會話已過期,請重新登錄。')
          } else if (code === 500) {
            toast(msg)
            reject('500')
          } else if (code !== 200) {
            toast(msg)
            reject(code)
          }
        },
        fail: (error) => {
					console.log("error", error);
          let { message } = error
          if (message == 'Network Error') {
            message = '后端接口連接異常'
          } else if (message.includes('timeout')) {
            message = '系統(tǒng)接口請求超時'
          } else if (message.includes('Request failed with status code')) {
            message = '系統(tǒng)接口' + message.substr(message.length - 3) + '異常'
          }
          toast(message)
          reject(error)
        }
      })
  })
}

export default upload

自己再封裝一個 js 文件,此處命名 upload.js 但不和若依的文件放在同一個目錄下

import upload from '@/utils/upload.js'

export function uploadFile(data) {
  return upload({
    url: '/common/upload',
    method: 'post',
    data: data
  })
}

在文件中調用需要先引入

import { uploadFile } from '@/api/common/upload.js'

再在 uni.chooseImage 中調用

selectPic() {
    var _this = this
	uni.chooseImage({
	    count: 1, //默認9
		sizeType: 'compressed', //可以指定是原圖還是壓縮圖,默認二者都有
		sourceType: ['album'], //從相冊選擇
		success: function(res) {
			uploadFile(res.tempFilePaths[0]).then(fileRes => {
				console.log(fileRes);
				fileRes = JSON.parse(fileRes)
				uni.showToast({
					title: "圖片上傳成功,保存生效",
					icon: "none"
				})
			});
		}
	});
},

controller 代碼文章來源地址http://www.zghlxwxcb.cn/news/detail-507034.html

/**
     * 通用上傳請求(單個)
     */
    @PostMapping("/upload")
    public AjaxResult uploadFile(MultipartFile file) throws Exception
    {
        try
        {
            // 上傳文件路徑
            String filePath = RuoYiConfig.getUploadPath();
            // 上傳并返回新文件名稱
            String fileName = FileUploadUtils.upload(filePath, file);
            String url = serverConfig.getUrl() + fileName;
            AjaxResult ajax = AjaxResult.success();
            ajax.put("url", url);
            ajax.put("fileName", fileName);
            ajax.put("newFileName", FileUtils.getName(fileName));
            ajax.put("originalFilename", file.getOriginalFilename());
            return ajax;
        }
        catch (Exception e)
        {
            return AjaxResult.error(e.getMessage());
        }
    }

到了這里,關于uni-app 實現(xiàn)文件上傳的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • uni-app之app上傳pdf類型文件

    uni-app之app上傳pdf類型文件

    通過閱讀官方文檔發(fā)現(xiàn), uni.chooseFile 在app端不支持非媒體文件上傳; 可以使用這個插件,驗證過可以上傳pdf;具體使用可以去看文檔 插件地址 就是還是會出現(xiàn)相機,這個可能需要自己解決下 實現(xiàn)功能:上傳只能上傳一個,如果文件列表有值點擊上傳進行toast提示,不再出現(xiàn)

    2024年02月13日
    瀏覽(19)
  • uni-app實現(xiàn)圖片上傳功能

    uni-app實現(xiàn)圖片上傳功能

    效果 代碼 ?

    2024年02月13日
    瀏覽(108)
  • uni-app 實現(xiàn)圖片上傳添加水印操作

    改進原因: 1、Canvas 2D(新接口)需要顯式設置畫布寬高,默認:300 150,最大:1365 1365 ios 無法上傳較大圖片的尺寸,固對超過此尺寸的圖片進行了等比縮放的處理; 2、在頁面中設置canvas寬高,導致頁面有滾動條;現(xiàn)在采用離屏的canvas,但是離屏的canvas,canvasToTempFilePath方法

    2024年02月07日
    瀏覽(229)
  • 【uni-app】上傳圖片 uni.chooseImage(),uni.uploadFile()接口使用

    【uni-app】上傳圖片 uni.chooseImage(),uni.uploadFile()接口使用

    圖片上傳在實際場景中使用廣泛,例如商品圖片,汽車圖片等等 實現(xiàn)選擇單張圖片上傳,可以刪除圖片。(預覽功能時間原因未研究) Vue2 版本,使用uni-app框架api喚起手機相冊等圖片源,將圖片選中到目標列表,并發(fā)送到服務器存儲,存儲成功得到處理后的圖片名稱存儲到

    2024年02月05日
    瀏覽(22)
  • uni-app - 移動端(iOS&Android)批量上傳文件,支持重傳、刪除、多選,攜帶參數(shù),進度監(jiān)控

    uni-app - 移動端(iOS&Android)批量上傳文件,支持重傳、刪除、多選,攜帶參數(shù),進度監(jiān)控

    ????? 作者簡介:程序員半夏 , 一名全棧程序員,擅長使用各種編程語言和框架,如JavaScript、React、Node.js、Java、Python、Django、MySQL等.專注于大前端與后端的硬核干貨分享,同時是一個隨緣更新的UP主. 你可以在各個平臺找到我! ?? 本文收錄于專欄: uniapp踩坑指南 ?? 專欄介紹

    2024年02月03日
    瀏覽(25)
  • 使用uni-app框架中uni.chooseAddress()接口,獲取不到用戶收貨地址

    使用uni-app框架中uni.chooseAddress()接口,獲取不到用戶收貨地址

    在我們使用uni-app框架或微信原生開發(fā)微信小程序時,使用到 uni.chooseAddress(OBJECT) 接口獲取用戶收貨地址時,無法跳轉到收貨地址頁面獲取。 打印接口返回信息,顯示 \\\"chooseAddress:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json\\\" 等內容,意思是此API接口需要

    2024年02月12日
    瀏覽(24)
  • 前端vue單個文件上傳支持圖片,壓縮包以及文件 , 下載完整代碼請訪問uni-app插件市場址:https://ext.dcloud.net.cn/plugin?id=13066

    前端vue單個文件上傳支持圖片,壓縮包以及文件 , 下載完整代碼請訪問uni-app插件市場址:https://ext.dcloud.net.cn/plugin?id=13066

    前端vue單個文件上傳支持圖片,壓縮包以及文件?, 閱讀全文下載完整代碼請關注微信公眾號: 前端組件開發(fā) 效果圖如下: 使用方法 HTML代碼部分 JS代碼 (引入組件 填充數(shù)據(jù)) CSS

    2024年02月09日
    瀏覽(27)
  • Uni-App開發(fā)框架介紹

    Uni-App開發(fā)框架介紹

    Uni-App是一家公司(DCloud)產品,公司承諾將一直開源且免費。 公司旗下有4個產品: HBuilder X:開發(fā)工具 uni-app:跨平臺統(tǒng)一框架 uniCloud:云服務提供商 uniMPsdk:Mobile端sdk,用于接入uni-app開發(fā)的模塊 主要盈利方式是uni-ad(廣告業(yè)務)和unicloud(云服務商) 一次編寫,多端運行 小程

    2024年02月12日
    瀏覽(20)
  • uni-app使用echarts并解決echarts文件過大的問題

    uni-app使用echarts并解決echarts文件過大的問題

    背景 這幾天寫小程序需要用到echarts,又因為我用uni-app開發(fā),因此研究了好久uni-app引用echarts,遇到了也最終解決了好多bug,我感覺大家應該在使用的時候應該都會遇到,因此專門來寫一篇博客,希望可以給大家提供一點幫助!! 第一次寫,保證超詳細?。?! 正文 一、uni-

    2024年02月10日
    瀏覽(16)
  • uni-app-使用tkiTree組件實現(xiàn)樹形結構選擇

    uni-app-使用tkiTree組件實現(xiàn)樹形結構選擇

    前言 在實際開發(fā)中我們經常遇見樹結構-比如樓層區(qū)域-組織架構-部門崗位-系統(tǒng)類型等情況 往往需要把這個樹結構當成條件來查詢數(shù)據(jù),在PC端可以使用Tree,table,Treeselect等組件展示 在uni-app的內置組件中似乎沒有提供這樣組件來展示,但是是有第三方包tkiTree組件來解決這個

    2024年02月14日
    瀏覽(69)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包