upload_serve.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import {
  2. uploadFile
  3. } from "./serve.js"
  4. export const upload = (data, url, type) => {
  5. return uploadFile({
  6. url: url, //请求后缀
  7. filePath: data,
  8. type: type,
  9. header: {
  10. 'Content-Type': 'multipart/form-data'
  11. }
  12. })
  13. }
  14. //压缩文件
  15. export function compress(img) {
  16. console.log('开始压缩');
  17. let that = this
  18. return new Promise((res) => {
  19. plus.io.resolveLocalFileSystemURL(img, (entry) => { //通过URL参数获取目录对象或文件对象
  20. entry.file((file) => { // 可通过entry对象操作图片
  21. console.log('压缩前图片信息:' + JSON.stringify(file)); //压缩前图片信息
  22. if (file.size > 504800) { // 如果大于500Kb进行压缩
  23. plus.zip.compressImage({ // 5+ plus.zip.compressImage 了解一下,有详细的示例
  24. src: img, //src: 压缩原始图片的路径
  25. width: '40%', //dst: (String 类型 )压缩转换目标图片的路径
  26. height: '40%', //width,height: (String 类型 )缩放图片的宽度,高度
  27. quality: 10, //quality: (Number 类型 )压缩图片的质量
  28. overwrite: true, //overwrite: (Boolean 类型 )覆盖生成新文件
  29. // format:'jpg' //format: (String 类型 )压缩转换后的图片格式
  30. }, (event) => {
  31. console.log('压缩后图片信息:' + JSON.stringify(
  32. event)); // 压缩后图片信息
  33. this.imageInfo = event
  34. let newImg = event.target;
  35. res(newImg); //返回新的图片地址,在uploadFile之前接收
  36. }, function(err) {
  37. // console.log('Resolve file URL failed: ' + err.message);
  38. });
  39. } else { //else小于500kb跳过压缩,直接返回现有的src
  40. res(img);
  41. }
  42. });
  43. }, (e) => { // 返回错误信息
  44. // console.log('Resolve file URL failed: ' + e.message);
  45. });
  46. })
  47. }