【发布时间】:2015-08-20 09:44:28
【问题描述】:
我无法在 .net c# 中上传文件。我正在使用以下代码:
try
{
var provider = new MultipartMemoryStreamProvider();
await Request.Content.ReadAsMultipartAsync(provider);
foreach (var file in provider.Contents)
{
var mappedPath = System.Web.Hosting.HostingEnvironment.MapPath("~/Resources");
var dataStream = await file.ReadAsStreamAsync();
FileStream fileStream = File.Create(mappedPath, (int)dataStream.Length);
}
var response = Request.CreateResponse(HttpStatusCode.OK);
response.Content = new StringContent("Successful upload", Encoding.UTF8, "text/plain");
response.Content.Headers.ContentType = new MediaTypeWithQualityHeaderValue(@"text/html");
return response;
}
catch (Exception e)
{
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e.Message);
}
这发生在本地主机上。 我有“访问路径......被拒绝”错误。我试图更改文件夹“资源”的安全权限,但可能我不知道要添加完全控制的组/用户名。
我试过了:
- 选择计算机名并添加网络服务 - 完全控制
- 选择计算机名并添加 IIS_IUSERS - 完全控制
- 我已经尝试了以上所有方法,并且还以管理员身份运行 IDE
【问题讨论】:
-
看起来您只是将文件夹路径指定为 create 方法的参数。它需要一个文件的路径。
-
哪一行抛出异常?
标签: c# .net file-upload