【发布时间】:2017-10-23 14:16:24
【问题描述】:
我创建了一个 node.js 网络服务器,它使用 express-fileupload 来接收多部分/表单数据上传,我似乎无法正确处理,这是我的节点部分:
app.post('/uploadImage', function(req, res) {
console.log("uploadImage");
if (!req.files)
return res.status(400).send('No files were uploaded.');
let uploadedFile = req.files.uploadedFile;
if(uploadedFile.mimetype.indexOf("image") > -1){
// Use the mv() method to place the file somewhere on your server
uploadedFile.mv('./' + uploadedFile.name, function(err) {
if (err)
return res.sendStatus(500);
res.json({result: "uploaded successfully!"});
});
}
});
HTML:
<form id="uploadForm">
<div class="row" style="margin-left: 0; margin-right: 0">
<div class="text-center">
<img [src]="imgPath" class="img-responsive text-center" style="max-height: 75px"/>
<input id="artUpload" type="file" class="btn-success text-center" name="uploaded_file.png"/>
<button class="btn btn-primary" (click)="upload()">Upload</button>
</div>
</div>
</form>
和打字稿:
upload(){
let formData: FormData;
formData = new FormData(<HTMLFormElement>document.getElementById('uploadForm'));
let input: HTMLInputElement = <HTMLInputElement>document.getElementById('artUpload');
formData.set('uploadedimage', input.files.item(0),'uploadedimage.png');
server.sendForm(formdata);
}
传递给 server.sendForm 方法的对象不包含任何文件。 'uploadedimage' 键在控制台登录时也不会显示。如果您使用 express-fileupload npm 站点上提供的库存 html,则此方法有效。
【问题讨论】: