我需要保存一个文件,然后阅读。但是我得到了错误:
进程无法访问文件”
当我调试它时。
通过Chrome调试时,我也收到此错误。但是,当我通过IE调试相同的代码时,出现错误:
不支持给定路径的格式。”
不确定出什么问题
Controller.cs
public HttpResponseMessage Upload()
{
HttpResponseMessage response = new HttpResponseMessage();
var httpRequest = HttpContext.Current.Request;
if (httpRequest.Files.Count > 0)
{
foreach (string file in httpRequest.Files)
{
var postedFile = httpRequest.Files[file];
string fileName = Path.GetFileName(postedFile.FileName);
string fileExtension = Path.GetExtension(postedFile.FileName);
string fileLocation = HttpContext.Current.Server.MapPath("~/UploadFile/" + postedFile.FileName);
postedFile.SaveAs(fileLocation);
PostedFile.SaveAs(fileLocation)
是引发错误的地方。
答案 0 :(得分:2)
posted.FileName
是客户端计算机上的完整路径,例如 C:\ users \ myName \ Documents \ mydoc.pdf 。您尝试将其连接到服务器 UploadFile 文件夹,然后在该结果字符串上调用 Server.MapPath 。
这将永远无法进行。
您已经从完整路径中提取了Filename部分。因此,只需使用它即可。
string fileLocation =
HttpContext.Current.Server.MapPath("~/UploadFile/" + fileName);
答案 1 :(得分:0)
if (!(Directory.Exists((fileLocation ))))
{
Directory.CreateDirectory((fileLocation ));
}
postedFile.SaveAs(fileLocation);
请尝试此操作,如果出现错误,请发布“ fileLocation”值,该变量中将显示什么内容。