当前位置:   article > 正文

vue-simple-uploader上传文件、图片和文件夹_vue标签@file-complete

vue标签@file-complete
  1. <uploader
  2. :options="options"
  3. class="uploader-example"
  4. :fileStatusText="fileStatusText"
  5. :autoStart="autoStart"
  6. ref="uploader"
  7. @file-added="fileAdded"
  8. @file-error="errorUpload"
  9. @file-success="successUpload"
  10. @file-complete="fileComplete"
  11. >
  12. <uploader-unsupport></uploader-unsupport>
  13. <uploader-drop>
  14. <div style="height: 10rem" class="flex a-c j-c">
  15. <div style="text-align: center">
  16. <i
  17. class="fas fa-upload"
  18. style="font-size: 2rem; color: #00bbff"
  19. ></i>
  20. <div>拖动上传</div>
  21. </div>
  22. </div>
  23. <!-- <uploader-btn>选择文件</uploader-btn> -->
  24. <div class="flex j-c">
  25. <uploader-btn :attrs="attrs">上传图片</uploader-btn>
  26. <uploader-btn :directory="true">上传文件夹</uploader-btn>
  27. </div>
  28. </uploader-drop>
  29. <uploader-list></uploader-list>
  30. </uploader>

 第一张图片为组件的基本用法

  1. options: {
  2. //上传地址
  3. // target: "http://*******:9000/audit/upload",
  4. target: "http://localhost:8081/upload",
  5. testChunks: false,
  6. // // 单文件上传
  7. // singleFile: true,
  8. // 上传文件会自动分块!!!
  9. chunkSize: 1024 * 1024 * 1, //每块大小
  10. simultaneousUploads: 5, //并发上传块数
  11. //请求头
  12. // headers: {
  13. // "Content-Type": "multipart/form-data;charset=UTF-8",
  14. // },
  15. // 请求接口的参数名
  16. fileParameterName: "file",
  17. //处理接口的响应
  18. processResponse: function (response, cb, file, chunk) {
  19. //调用cb()回调函数,续传文件未上传的片段
  20. //当为最后一个片段时,不再调用该回调函数
  21. if (chunk.endByte < file.size || chunk.endByte < file.size) {
  22. cb();
  23. } else {
  24. this.currentId = JSON.parse(response).id;
  25. console.log(this.currentId);
  26. }
  27. },
  28. maxChunkRetries: 0,
  29. processParams: function (params) {
  30. params.aa = 11;
  31. // console.log(params);
  32. return params;
  33. },
  34. parseTimeRemaining: function (timeRemaining, parsedTimeRemaining) {
  35. return parsedTimeRemaining
  36. .replace(/\syears?/, "年")
  37. .replace(/\days?/, "天")
  38. .replace(/\shours?/, "小时")
  39. .replace(/\sminutes?/, "分钟")
  40. .replace(/\sseconds?/, "秒");
  41. },
  42. },

 第二张图片为组件options的配置项

 fileStatusText:可修改上传进度以及结果的文字----这是属性,和options同级哦

  1. fileStatusText: {
  2. success: "上传成功",
  3. error: "上传失败",
  4. uploading: "上传中...",
  5. paused: "暂停",
  6. waiting: "等待中...",
  7. cmd5: "cmd5",
  8. }

autoStart:布尔值--决定图片是否自动上传

@file-add        选取图片/文件/文件夹成功,

@file-success        一个片段上传成功

@file-error                一个片段上传失败

@file-complete        整个图片/文件/文件夹上传完成

  1. fileAdded(file) {
  2. // window.uploader.removeFile(file);
  3. },
  4. successUpload() {
  5. console.log("success");
  6. },
  7. errorUpload() {
  8. this.$message({
  9. type: "warning",
  10. message: "上传失败",
  11. duration: 1000,
  12. });
  13. },
  14. //整个根文件上传结束
  15. fileComplete(rootFile) {
  16. console.log("complete");
  17. },

 css可按照个人自行修改

  1. //整个上传窗口样式
  2. .uploader-example {
  3. width: 44rem;
  4. padding: 0.75rem;
  5. margin: 2rem auto;
  6. font-size: 0.6rem;
  7. box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.4);
  8. }
  9. //上传按钮样式
  10. .uploader-example .uploader-btn {
  11. margin-right: 0.2rem;
  12. border: 0;
  13. color: #fff;
  14. height: 1.715rem;
  15. border-radius: 0.15rem;
  16. padding: auto;
  17. &:hover {
  18. opacity: 0.7;
  19. }
  20. &:nth-child(even) {
  21. width: 7rem;
  22. padding-left: 2rem;
  23. background-color: #cd853f;
  24. background-image: url(~@/assets/images/文件夹.png);
  25. background-repeat: no-repeat;
  26. background-size: 1rem;
  27. background-position-y: center;
  28. background-position-x: 0.8rem;
  29. }
  30. &:nth-child(odd) {
  31. width: 7rem;
  32. padding-left: 2rem;
  33. background-color: #009fcc;
  34. background-image: url(~@/assets/images/picture.png);
  35. background-repeat: no-repeat;
  36. background-size: 1rem;
  37. background-position-y: center;
  38. background-position-x: 0.8rem;
  39. }
  40. }
  41. //上传列表展示样式
  42. .uploader-example .uploader-list {
  43. max-height: 22rem;
  44. overflow: auto;
  45. overflow-x: hidden;
  46. overflow-y: auto;
  47. }

此上内容为本人个人理解,应该有很多不足,只是帮助一些刚入门的,写的有错的,各位大佬帮忙指出。

官方文档:https://github.com/simple-uploader/Uploader/blob/develop/README_zh-CN.md

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号