Saving an uploaded file with HttpPostedFileBase.Sa

2019-02-12 09:03发布

问题:

I'd like to save an uploaded file to a physical path by the method HttpPostedFileBase.SaveAs().

When I choose a physical path, an exception appears indicates that the path must be virtual.

 var fileName = Path.GetFileName(fileurl.FileName);
 var path = "C:/Projets" + fileName;
 fileurl.SaveAs(Server.MapPath(path));

How can I change my code to be able to save the file every where I want?

回答1:

The Server.MapPath works only with physical locations that are part of the website. If you want to save the file outside you could use the following:

var fileName = Path.GetFileName(fileurl.FileName);
fileurl.SaveAs(Path.Combine(@"c:\projects", fileName));

Make sure though that the account under which your application pool is executing is granted write permissions to this folder.



回答2:

Server.MapPath is for virtual path. You can try to use Path.GetFullPath(path).