【发布时间】:2015-07-26 19:32:48
【问题描述】:
我正在尝试创建一个控制器,允许我将图像保存到我的数据库中。到目前为止,我有这段代码:
/// <summary>
/// Handles an upload
/// </summary>
/// <returns></returns>
[HttpPost]
[Route("")]
public async Task<IHttpActionResult> Upload()
{
// If the request is not of multipart content, then return a bad request
if (!Request.Content.IsMimeMultipartContent())
return BadRequest("Your form must be of type multipartcontent.");
// Get our provider
var provider = new MultipartFormDataStreamProvider(ConfigurationManager.AppSettings["UploadFolder"]);
// Upload our file
await Request.Content.ReadAsMultipartAsync(provider);
// Get our file
var file = provider.Contents.First();
var bytes = await file.ReadAsByteArrayAsync();
// Using a MemoryStream
using (var stream = new MemoryStream(bytes))
{
stream.Seek(0, SeekOrigin.Begin);
// Create the data
var data = "data:image/gif;base64," + Convert.ToBase64String(stream.ToArray());
// Return the data
return Ok(data);
}
}
但它不起作用。 当我进入 using 块时,我收到一条错误消息:
“将内容复制到流时出错。”
“无法访问已关闭的文件。”
有人知道为什么吗?
【问题讨论】:
-
您能否在下面查看我的回答,看看它是否对您有帮助?
-
如果您可以将我的回复标记为答案,或者如果它没有帮助提供一些反馈,那么我可以更新我的答案以更好地帮助您。
-
感谢您将我的标记为答案! :)
标签: c# file-upload asp.net-web-api