UNPKG

1.67 kBJavaScriptView Raw
1'use strict';
2
3exports.__esModule = true;
4exports.uid = uid;
5exports.fileToObject = fileToObject;
6exports.getFileItem = getFileItem;
7exports.removeFileItem = removeFileItem;
8exports.previewFile = previewFile;
9var now = +new Date();
10
11/**
12 * 生成唯一的id
13 * @return {String} uid
14 */
15function uid() {
16 return (now++).toString(36);
17}
18
19function fileToObject(file) {
20 if (!file.uid) {
21 file.uid = uid();
22 }
23
24 return {
25 lastModified: file.lastModified,
26 lastModifiedDate: file.lastModifiedDate,
27 name: file.filename || file.name,
28 size: file.size,
29 type: file.type,
30 uid: file.uid,
31 error: file.error,
32 percent: 0,
33 originFileObj: file
34 };
35}
36
37function getFileItem(file, fileList) {
38 var matchKey = file.uid !== undefined ? 'uid' : 'name';
39 return fileList.filter(function (item) {
40 return item[matchKey] === file[matchKey];
41 })[0];
42}
43
44function removeFileItem(file, fileList) {
45 var matchKey = file.uid !== undefined ? 'uid' : 'name';
46 var removed = fileList.filter(function (item) {
47 return item[matchKey] !== file[matchKey];
48 });
49 if (removed.length === fileList.length) {
50 return null;
51 }
52 return removed;
53}
54
55// https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL
56function previewFile(file, callback) {
57 var reader = new FileReader();
58 reader.onloadend = function () {
59 return callback(reader.result);
60 };
61 reader.readAsDataURL(file);
62}
63
64var errorCode = exports.errorCode = {
65 EXCEED_LIMIT: 'EXCEED_LIMIT',
66 BEFOREUPLOAD_REJECT: 'BEFOREUPLOAD_REJECT',
67 RESPONSE_FAIL: 'RESPONSE_FAIL'
68};
\No newline at end of file