gpt4 book ai didi

c# - 如何接受文件 POST

转载 作者:IT王子 更新时间:2023-10-29 03:28:59 25 4
gpt4 key购买 nike

我正在使用 asp.net mvc 4 webapi beta 构建休息服务。我需要能够接受来自客户端应用程序的 POSTed 图像/文件。这可能使用 webapi 吗?以下是我目前正在使用的操作。有谁知道这应该如何工作的示例?

[HttpPost]
public string ProfileImagePost(HttpPostedFile profileImage)
{
string[] extensions = { ".jpg", ".jpeg", ".gif", ".bmp", ".png" };
if (!extensions.Any(x => x.Equals(Path.GetExtension(profileImage.FileName.ToLower()), StringComparison.OrdinalIgnoreCase)))
{
throw new HttpResponseException("Invalid file type.", HttpStatusCode.BadRequest);
}

// Other code goes here

return "/path/to/image.png";
}

最佳答案

我很惊讶你们中的很多人似乎都想在服务器上保存文件。将所有内容保存在内存中的解决方案如下:

[HttpPost("api/upload")]
public async Task<IHttpActionResult> Upload()
{
if (!Request.Content.IsMimeMultipartContent())
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);

var provider = new MultipartMemoryStreamProvider();
await Request.Content.ReadAsMultipartAsync(provider);
foreach (var file in provider.Contents)
{
var filename = file.Headers.ContentDisposition.FileName.Trim('\"');
var buffer = await file.ReadAsByteArrayAsync();
//Do whatever you want with filename and its binary data.
}

return Ok();
}

关于c# - 如何接受文件 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10320232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com