react-native-fs: Upload files in android not working, sometimes i got Error: Socket closed and request is not sent
it’s not sending any request to my server and sometimes it throws a socket closed error, please check my current code that I have used.
Error:
Error: Socket closed at createErrorFromErrorData (NativeModules.js:146) at NativeModules.js:95 at MessageQueue.__invokeCallback (MessageQueue.js:397) at MessageQueue.js:127 at MessageQueue.__guard (MessageQueue.js:297) at MessageQueue.invokeCallbackAndReturnFlushedQueue (MessageQueue.js:126) at debuggerWorker.js:72
Here is my code
`const toUrl = ‘http://***’; const name = ‘file_XCzY_SINGLE_FILE_POST’; const filename = ‘IMG-20190514-WA0003.jpg’; const filepath = ‘content://com.android.providers.media.documents/document/image%3A209152’; const filetype = ‘image/jpeg’;
const params = { c2f: “HP4S”, isIOS: false, meta_Chartfield_Number: ‘121212’, meta_Comments: “”, meta_Department: “%user_ldap_department%”, meta_Due_date_Poster_Order_Form: null, meta_Due_time_Poster_Order_Form: “4 pm”, meta_Email: “%user_ldap_mail%”, meta_Name123: “%user_ldap_displayName%”, name: “file_XCzY_SINGLE_FILE_POST”, the_action: “STOR”, uploadPath: “%2FTest%2F” };
const uploadBegin = (response) => { const jobId = response.jobId; console.log('UPLOAD HAS BEGUN! JobId: ’ + jobId); };
const uploadProgress = (response) => { const percentage = Math.floor((response.totalBytesSent/response.totalBytesExpectedToSend)
- 100); console.log('UPLOAD IS ’ + percentage + ‘% DONE!’); };
RNFS.uploadFiles({ toUrl: encodeURI(url), files: [{ name filename filepath filetype }], method: ‘POST’, headers: { ‘Accept’: ‘application/json’, ‘Content-Type’: ‘multipart/form-data’, ‘Cookie’: ‘my-cookies*****’ }, fields: params, begin: uploadBegin, beginCallback: uploadBegin, progressCallback: uploadProgress, progress: uploadProgress }).promise.then((response) => { console.log(response,“<<< Response”); if (response.statusCode == 200) { console.log(‘FILES UPLOADED!’); } else { console.log(‘SERVER ERROR’); } }) .catch((err) => { if (err.description) { switch (err.description) { case “cancelled”: console.log(“Upload cancelled”); break; case “empty”: console.log(“Empty file”); default: //Unknown } } else { //Weird console.log(‘Weird’) } console.log(err); });`
About this issue
- Original URL
- State: open
- Created 5 years ago
- Reactions: 5
- Comments: 15
Hey did you guys found a solution to this? I’m getting the same error
Error: Socket closed at Object.fn [as uploadFiles] (NativeModules.js:99) at Object.uploadFiles (FS.common.js:594) at App.js:110 at JSTimers.js:250 at _callTimer (JSTimers.js:146) at Object.callTimers (JSTimers.js:399) at MessageQueue.__callFunction (MessageQueue.js:436) at MessageQueue.js:111 at MessageQueue.__guard (MessageQueue.js:384) at MessageQueue.callFunctionReturnFlushedQueue (MessageQueue.js:110)
@Hoomanmsh, @LordDraagonLive, see if this can help you: https://github.com/itinance/react-native-fs/issues/973#issuecomment-782301107