我在网络客户端上有这个客户端代码来加载某种文件。
fileUploaded(files) {
files.forEach(async ifile => {
await axios.post('http://localhost:5000/api/upload', ifile)
.then(res => {
console.log(res)
}).catch(err => {
console.error(err);
});
});
}
Run Code Online (Sandbox Code Playgroud)
我的端点代码如下所示:
[HttpPost("upload")]
public async Task<IActionResult> UploadFile([FromBody] IFormFile file)
{
var data = new byte[file.Length];
using (var bstream = file.OpenReadStream())
{
while (bstream.CanRead)
{
bstream.Read(data);
}
}
// etc
return Ok();
}
Run Code Online (Sandbox Code Playgroud)
参数file始终为空。如何以正确的方式从客户端传递此文件?
代替
UploadFile([FromBody] IFormFile file)
Run Code Online (Sandbox Code Playgroud)
使用
UploadFile([FromForm] IFormFile file)
Run Code Online (Sandbox Code Playgroud)
和
fileUploaded(files) {
files.forEach(async ifile => {
const formData = new FormData();
formData.append('file', ifile)
await axios.post('http://localhost:5000/api/upload', formData)
.then(res => {
console.log(res)
}).catch(err => {
console.error(err);
});
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6276 次 |
| 最近记录: |