2014-01-24 195 views
0

我正在制作一个网站有图像上传模块。在我的本地主机服务器中它的工作完美。这意味着我可以上传图片并保存。但是,当我主持我的解决方案时,我收到一个错误。即,访问路径被拒绝。文件上传到服务器

这是我使用的代码...

string fileName = FileUpload1.FileName.ToString(); 
string uploadFolderPath = "~/up_foto/"; 
string filePath = HttpContext.Current.Server.MapPath(uploadFolderPath); 
FileUpload1.SaveAs(filePath + "\\" + fileName);` 

什么错在这个..请帮我.... 在此先感谢....

+0

1)使用'Path.Combine('代替将字符串一起,2)不'〜/ up_foto /'存在上失败的目标服务器? –

+0

还检查'〜/ up_foto /'文件夹是否具有读/写权限。 –

+0

如何检查具有读/写权限的文件夹? – user3159647

回答

1

恐怕如果它在本地运行,那么代码没有问题。相反,您必须确保在主机环境中用户“IUSER”或“IIS_IUSER”等能否访问(读取/写入)上传文件夹。

0

既然你得到“访问路径被拒绝”,你检查你要上传的文件夹的写权限

+0

如何检查具有此类权限的文件夹? – user3159647

+0

@ user3159647如果您有一个用于托管您的网站的控制面板,则会有一个您可以使用的文件夹权限部分。或者如果您有FTP帐户并使用Filezilla上传文件,则可以右键单击要上传的文件夹,并可以提供所需的权限。 –

0

可以使用Path.combine或使用Server.Mappath(不要忘记添加System.IO在命名空间)

 string fileName = FileUpload1.FileName.ToString(); 
     string uploadFolderPath = "~/Uploads/Images/"; 
     string filePath1 = Server.MapPath(uploadFolderPath + fileName); 

 string fileName = FileUpload1.FileName.ToString(); 
     string uploadFolderPath = "~/Uploads/Images/"; 
     string filePath = Server.MapPath(uploadFolderPath); 
     string filePath1= Path.Combine(filepath1 + fileName);