-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuploader_util.js
More file actions
executable file
·124 lines (116 loc) · 3.34 KB
/
Copy pathuploader_util.js
File metadata and controls
executable file
·124 lines (116 loc) · 3.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
//import Upload from 'react-native-background-upload'
// import FileUploader from 'react-native-file-uploader'
import RNFetchBlob from 'react-native-fetch-blob';
module.exports = {
upload: function (filePath, fieldName, url, onSuccess, onError, params) {
if (!params) {
params = [];
}
if (filePath.includes('file://')) {
filePath = filePath.split('file://').pop();
}
var fileExtension = filePath.split('.').pop().toLowerCase().trim();
var fileName;
var fileType;
if (fileExtension === 'jpg' || fileExtension === 'jpeg') {
fileName = 'file.jpg';
fileType = 'image/jpeg';
} else if (fileExtension === 'png') {
fileName = 'file.png';
fileType = 'image/png';
} else if (fileExtension === 'pdf') {
fileName = 'file.pdf';
fileType = 'application/pdf';
} else if (fileExtension === 'doc') {
fileName = 'file.doc';
fileType = 'application/msword';
} else if (fileExtension === 'docx') {
fileName = 'file.doc';
fileType = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
} else {
fileName = 'file.pdf';
fileType = 'application/pdf';
}
RNFetchBlob.fetch('POST', url, {
'Content-Type' : 'multipart/form-data',
}, [
{ name: fieldName, filename: fileName, type:fileType, data:RNFetchBlob.wrap(decodeURI(filePath)) },
...params
]).then((res) => {
onSuccess(res);
}).catch((err) => {
onError(err);
});
// RNFetchBlob.fetch(
// 'POST',
// url,
// {
// // Authorization : "Bearer " + token,
// 'Content-Type' : 'multipart/form-data'
// },
// {
// 'avatar': base64String
// }
// )
// .then((res) => {
// onSuccess(res);
// })
// .catch((err) => {
// onError(err);
// });
// var settings = {
// fileUrl,
// url
// };
//
// FileUploader.upload(settings, (err, res) => {
// // handle result
// if (err) {
// if (onError) {
// onError(err);
// }
// } else if (res) {
// if (onSuccess) {
// onSuccess(res);
// }
// }
// }, (sent, expectedToSend) => {
// // handle progress
// if (onProgres) {
// onProgres(sent);
// }
// });
// const options = {
// url: url,
// path: fileUrl,
// method: 'POST'
// }
//
// Upload.startUpload(options).then((uploadId) => {
// console.log('Upload started')
// Upload.addListener('progress', uploadId, (data) => {
// if (onProgres) {
// onProgres(data.progress);
// }
// console.log(`Progress: ${data.progress}%`)
// })
// Upload.addListener('error', uploadId, (data) => {
// if (onError) {
// onError(data.error);
// }
// console.log(`Error: ${data.error}%`)
// })
// Upload.addListener('completed', uploadId, (data) => {
// if (onSuccess) {
// onSuccess(data);
// }
// console.log(`Completed!`)
// })
// }).catch(function(err) {
// if (onError) {
// onError(err);
// }
// console.log('Upload error!',err)
// });
}
};