Я использую react-native-sketch-canvas
для панели подписи, а затем сохраняю изображение подписи в хранилище устройства и получаю путь к файлу в ответ.Когда я нажимаю «Сохранить», я делаю запрос на загрузку, чтобы загрузить это сохраненное изображение на сервер узла.Я использовал multer на узле js на стороне.Я использовал приведенный ниже код извлечения на react-native
.
var data = new FormData();
data.append('file', {
uri: filepath, /* /storage/emulated/0/Pictures/RNSketchCanvas/image.png */
name: 'image.png',
type: 'image/png'
});
fetch('http://apiUrl/api/upload',{
headers: {
'Accept': 'application/json',
'Content-Type': 'multipart/form-data'
},
method: 'POST',
body: data
});
и код на моем узле js (multer) на стороне.
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, __dirname+'/../files/');
}
});
const storageMulter = multer({
storage: storage,
fileFilter: function(req, file, cb) {
cb(null, true);
}
});
var uploadConfig = storageMulter.single('file');
uploadConfig(req, res, function (err) {
if (err) {
handleErrors(res, err)
} else {
res.json(req.file.filename);
}
})
, если я отправлю body = "" , тогда это дает мне ошибку "граница не найдена".Если я отправлю data в тело, это не ударит API.
Пожалуйста, помогите, где я не прав.