小程序前端数据处理
import {PlayModel} from "../../../models/PlayModel";import {FileModel} from "../../../models/FileModel";import {TimeStorage} from "../../../utils/timeStorage";let playModel = new PlayModel();let fileModel = new FileModel();let timeStorage = new TimeStorage();Page({ data: { contentCount: 0, content: '', images: [], video : '', }, submitClick() { if (this.data.content == '') { wx.showToast({ title: '内容不能为空!', duration: 2000, icon: 'none', mask:true }) } else if (this.data.images.length == 0 && this.data.video == '') { wx.showToast({ title: '视频和图片必须添加一个!', duration: 2000, icon: 'none', mask:true }) } else { let artContent = this.data.content; let userId = timeStorage.getStorage("userInfo").user.userId; wx.showToast({ title: '加载中...', mask: true, icon: 'loading' }) if(this.data.video == ''){ playModel.submitArticle({ data: { userId: userId, artContent: artContent, }, success: (res) = { let artId = res.object; this.data.images.map(function(value, index){ fileModel.uploadImages({ data: value, success: (res) = { playModel.submitImages({ data: { artId: artId, imgUrl: res.msg }, success: (res) = { console.log(res) } }) } }) }) wx.showToast({ title: '成功', icon: 'success', duration: 2000, success: function() { wx.navigateBack({delta:1}) } }) } }); }else{ fileModel.uploadVideo({ data: this.data.video, success: (res) = { playModel.submitArticle({ data: { userId: userId, artVideo: res.msg, artContent: artContent, }, success: (res) = { if(res.code == '200'){ wx.showToast({ title: '成功', icon: 'success', duration: 2000, success: function() { wx.navigateBack({delta:1}) } }) }else{ wx.showToast({ title: '失败', icon: 'none', duration: 2000 }) } } }); } }) } } }})
对图片和视频上传的处理
import { FileUpload } from "../utils/fileUpload.js"class FileModel extends FileUpload { uploadVideo(params) { this.request({ url: 'article/uploadVideo', data: params.data, success: (res) = { params.success && params.success(res) } }) } uploadImages(params) { this.request({ url: 'article/uploadImage', data: params.data, success: (res) = { params.success && params.success(res) } }) }}export { FileModel }
对图片和视频API上传
import { config } from "../config.js"import { tips } from "./error_code.js"class FileUpload{ request(params) { wx.uploadFile({ url: config.api_local_url + params.url, filePath: params.data, name: 'file', success: (res) = { let code = res.statusCode.toString() if (code.startsWith("2")) { params.success && params.success(JSON.parse(res.data)) } else { let error_code = res.data.error_code this._error_status(error_code) } }, fail: (error) = { this._error_status(1000) } }) } _error_status(error_code) { wx.showToast({ title: tips[error_code], icon: 'none', duration: 2000 }) }}export { FileUpload }
springboot后台的处理
Controller处理
@RestController@RequestMapping("/api")public class ArticleAPI { @Autowired private ArticleService articleService; @Autowired private ArticleImagesService imagesService; @PostMapping("/article/uploadVideo") public JsonResult uploadVideo(@RequestParam(value = "file", required = false) MultipartFile file) { if(file == null){ return new JsonResult(ResultCode.FAIL, "内容为空"); }else{ return new JsonResult(ResultCode.SUCCESS, FileUpload.fileOne(file, UploadType.ARTICLE_VIDEO)); } } @PostMapping("/article/uploadImage") public JsonResult uploadImages(@RequestParam(value = "file", required = false) MultipartFile file) { if(file == null) { return new JsonResult(ResultCode.FAIL, "内容为空"); }else { return new JsonResult(ResultCode.SUCCESS, FileUpload.fileOne(file, UploadType.ARTICLE_IMAGES)); } } @PostMapping("/article/submitArticle") public JsonResult submitArticle(