Я пытаюсь загрузить некоторые файлы с моего собственного нативного клиента на сервер nodejs, используя multer. Если я пытаюсь загрузить эти файлы с помощью Postman, это прекрасно работает, но когда я делаю это с помощью своего мобильного приложения, оно выдает мне такую ошибку:
Error: Unexpected end of multipart data
at /home/ema/iDiary/iDiary-server/node_modules/dicer/lib/Dicer.js:62:28
at processTicksAndRejections (internal/process/next_tick.js:74:9)
Я не думаю, что это проблема с сервером, но эточасть кода, которая принимает файл в:
const multer = require('multer');
const multerupload = multer({ dest: 'tmp/' })
v0.post('/upload-attachments', multerupload.any(), uploadAttachments);
, и это мой собственный собственный код реакции, где я получаю файл с помощью response-native-document-picker:
DocumentPicker.pick({type: [DocumentPicker.types.allFiles]}).then((res) => {
let split = res.uri.split('/');
let name = split.pop();
let inbox = split.pop();
const realPath = `${RNFS.TemporaryDirectoryPath}${inbox}/${name}`;
this.props.writeTaskData('attachments', {
filepath: realPath,
filename: res.name,
filetype: res.type,
name: res.name
});
console.log('docres',res)
this.props.navigation.navigate('Page5');
})
и вВ конце концов, это код, куда я отправляю файлы на мой сервер:
RNFS.uploadFiles({
toUrl: 'https://'+address+':'+port+'/api/v0/upload-attachments',
files: [attachment],
method: 'POST',
headers: {
'Accept': 'application/json',
},
fields: {
homeworkId: res.id,
name: attachment.filename
},
begin: uploadBegin,
progress: uploadProgress
})
Если кто-нибудь знает решение, я буду рад ему, если оно поделится им со мной.