uview2中的上傳文件需要配合著自己后端的上傳的代碼
uview2 代碼:
uploadFilePromise(url) {return new Promise((resolve, reject) => {// 后續自己封裝let a = uni.uploadFile({//自己的請求路徑url: that.$baseURL + '/uploadAvater', //上傳的文件filePath: that.userInfo.avatarUrl,name: 'file',//自己的請求頭內容header: {Authorization: uni.getStorageSync("token")},success: (res) => {setTimeout(() => {resolve(res.data.data)let res = JSON.parse(uploadFileRes.data);that.userInfo.avatarUrl = res.data;}, 1000)}});})},
java 端(若依前后端分離)接口代碼:
public AjaxResult uploadAvater(MultipartFile file){HttpServletRequest request = ServletUtils.getRequest();StringBuffer url = request.getRequestURL();String contextPath = request.getServletContext().getContextPath();String urlInfo = url.delete(url.length() - request.getRequestURI().length(), url.length()).append(contextPath).toString();try{// 上傳文件路徑String filePath = RuoYiConfig.getUploadPath();// 上傳并返回新文件名稱String fileName = FileUploadUtils.upload(filePath, file);String urlFinal = urlInfo + fileName;AjaxResult ajax = AjaxResult.success();ajax.put("url", urlFinal);ajax.put("fileName", fileName);ajax.put("newFileName", FileUtils.getName(fileName));ajax.put("originalFilename", file.getOriginalFilename());return AjaxResult.success(ajax.get("fileName"));}catch (Exception e){return AjaxResult.error(e.getMessage());}}