【发布时间】:2021-09-16 14:08:47
【问题描述】:
我将flutter用于移动应用程序的前端,将nodeJS用于后端,我正在尝试使用multer上传照片,在后端它工作得很好,我用邮递员对其进行了测试,但是当我从发送文件时遇到问题颤抖。
颤动代码
Future<void> getImage() async {
final pickedFile = await picker.getImage(source: ImageSource.gallery);
setState(() {
if (pickedFile != null) {
_image = File(pickedFile.path);
} else {
print('No image selected.');
}
});
}
upload(File imageFile) async {
var stream =new http.ByteStream(DelegatingStream.typed(imageFile.openRead()));
var length = await imageFile.length();
var uri = Uri.parse("http://192.168.1.8:8081/products/add-product");
var request = new http.MultipartRequest("POST", uri);
var multipartFile = new http.MultipartFile('photo', stream, length,filename: basename(imageFile.path));
request.files.add(multipartFile);
var response = await request.send();
}
if(_image.path != null){
upload(_image);
_addProduct(context, product);
}
部分代码节点帖子
router.post('/add-product', upload.single('photo'),async (req,res)=>{
console.log(req.file);
const product = new Product({
name : req.body.name,
price : req.body.price,
detail : req.body.detail,
quantity : req.body.quantity,
photo : req.file.path
});
});
【问题讨论】: