Quellcode durchsuchen

OSS上传前端md5加密

zhuxinbo vor 5 Jahren
Ursprung
Commit
bdd0c4fc92
3 geänderte Dateien mit 30 neuen und 40 gelöschten Zeilen
  1. 0 1
      public/index.html
  2. 8 0
      src/api/actor.js
  3. 22 39
      src/views/modules/test/Test.vue

+ 0 - 1
public/index.html

@@ -288,7 +288,6 @@
 </div>
 
 <!-- update_begin author:sunjianlei date:20190524 for: 去指定页面的加载动画 -->
-<script src="<%= BASE_URL %>md5.js"></script>
 <script>
   // 去指定页面的加载动画
   if (location.href.indexOf('online/desform/pureview') !== -1) {

+ 8 - 0
src/api/actor.js

@@ -97,4 +97,12 @@ export function fileCheck(parameter) {
         method: 'get',
         params: parameter
     })
+}
+
+export function fileInsert(parameter) {
+    return axios({
+        url: "/file/insert",
+        method: 'post',
+        params: parameter
+    })
 }

+ 22 - 39
src/views/modules/test/Test.vue

@@ -12,45 +12,14 @@
       :accessKeyId="OSS_ACCESSKEYID()"
       :accessKeySecret="OSS_ACCESSKEYSECRET()"
       :before-upload="file"
+      @loaded="overUpload"
     ></upload-to-ali>
-    {{showData}}
   </div>
 </template>
 <script>
 import UploadToAli from '@femessage/upload-to-ali'
 import BMF from 'browser-md5-file'
-import { fileCheck } from '@/api/actor'
-var dataA = ''
-var md5Data = ''
-function md5(file, callBack) {
-  var fileReader = new FileReader(),
-    blobSlice = File.prototype.mozSlice || File.prototype.webkitSlice || File.prototype.slice,
-    chunkSize = 2097152,
-    // read in chunks of 2MB
-    chunks = Math.ceil(file.size / chunkSize),
-    currentChunk = 0,
-    spark = new SparkMD5()
-
-  fileReader.onload = function(e) {
-    spark.appendBinary(e.target.result) // append binary string
-    currentChunk++
-
-    if (currentChunk < chunks) {
-      loadNext()
-    } else {
-      callBack && callBack(spark.end())
-    }
-  }
-
-  function loadNext() {
-    var start = currentChunk * chunkSize,
-      end = start + chunkSize >= file.size ? file.size : start + chunkSize
-
-    fileReader.readAsBinaryString(blobSlice.call(file, start, end))
-  }
-
-  loadNext()
-}
+import { fileCheck,fileInsert } from '@/api/actor'
 export default {
   data() {
     return {
@@ -59,7 +28,7 @@ export default {
       accessKeySecret: '1rkPz7JNoXk8sJevPaeYHWqfkQXBGh',
       bucket: 'ctop-media',
       region: 'oss-cn-beijing',
-      showData: null
+      md5:""
     }
   },
   components: {
@@ -86,13 +55,27 @@ export default {
     },
     file(file) {
       var bmf = new BMF()
-      bmf.md5(file[0], (err, md5) => {
-        console.log(md5, 123123123)
-        fileCheck({ code: md5 }).then((res) => {
-          this.showData = res
-          return 12324
+      var that = this
+      return new Promise(function(resolve, reject) {
+        bmf.md5(file[0], (err, md5) => {
+          console.log(md5, 123123123)
+          that.md5 = md5
+          fileCheck({ code: md5 }).then(res => {
+            console.log(res)
+            if (res.code == 0) {
+              reject()
+            } else {
+              resolve()
+            }
+          })
         })
       })
+    },
+    overUpload(url){
+        // console.log(url,this.md5)
+        fileInsert({code:this.md5,url:url[0]}).then(res=>{
+            console.log(res)
+        })
     }
   }
 }