我正在使用ASP.NET Core创建API请求,以使用此操作为每个公司上传头像
[HttpPost("{company_id}/updateLogo")]
[RequestFormSizeLimitAttribute(valueCountLimit: 147483648)]
public async Task<IActionResult> updateCompanyLogo(IFormFile imgfile,int company_id)
{
string imageName;
// upload file
if (imgfile == null || imgfile.Length == 0)
imageName = "default-logo.jpg";
else
{
imageName = Guid.NewGuid() + imgfile.FileName;
var path = _hostingEnvironment.WebRootPath + $@"\Imgs\{imageName}";
if (imgfile.ContentType.ToLower().Contains("image"))
{
using (var fileStream = new FileStream(path, FileMode.Create))
{
await imgfile.CopyToAsync(fileStream);
}
}
}
using (var db = new AppDb())
{
await db.Connection.OpenAsync();
var query = new CompanyModel(db);
var result = await query.FindOneAsync(company_id);
if (result == null)
return NotFound();
result.logo = imageName;
await result.UpdateAsync();
return Ok(result);
}
}
我正在使用这样的邮递员发送上传请求 http://i.imgur.com/JvqKAiU.png
它返回
ArgumentException:键'M C hC } jI m6t(4 c ^ X X )
j��ŗ�np��-�60�G֘���e�̡��
z 6 4 9 aa ![ܢT” 是无效的JQuery语法,因为它缺少一个结束括号。 参数名称:key NormalizeJQueryToMvc
答案 0 :(得分:7)
我昨天使用Postman将文件发送到ASPNET Core Api时面临同样的问题。
在我的情况下,我忘记删除Content-type标头,因此,邮递员试图将其作为JSON(或类似的东西)发送。
当我删除标题属性时,一切都按预期工作。