【发布时间】:2021-03-09 08:33:31
【问题描述】:
我使用以下POST 来发送Files 和一些数据(type: 'application/json')。
这是我发送数据的代码:
save(data: IRishum, filesA: File[]): Observable<any> {
const formData = new FormData();
// add the files
if (filesA && filesA.length) {
Array.from(filesA).forEach(file => formData.append('filesA', file));
}
// add the data object
formData.append('data', new Blob([JSON.stringify(data)], {type: 'application/json'}));
console.log(formData.getAll("filesA"));
return this._httpClient.post<IRishum>(this.apiUrl, formData);
}
然后,我尝试在我的服务器端提取数据。
public async Task<ResultOfOperation<int>> Rishum(IFormCollection formdata)
{
var result = new ResultOfOperation<int>();
try
{
var name = formdata["data"];
var files = HttpContext.Request.Form.Files;
foreach (var file in files)
{
var uploads = Path.Combine(_environment.ContentRootPath, "Images");
if (file.Length > 0)
{
string FileName = Guid.NewGuid().ToString(); // Give file name
using (var fileStream = new FileStream(Path.Combine(uploads, FileName), FileMode.Create))
{
await file.CopyToAsync(fileStream);
}
}
}
}
但是,name 为空。所以可能我做错了什么。
【问题讨论】:
标签: angular asp.net-core file-upload asp.net-core-3.1 angular10