2011-05-01 67 views
1

FileUpload控件我想在asp.net使用FileUpload控件上传文件的文件和我使用下面的代码来做到这一点:上传使用asp.net

string filename1 = System.IO.Path.GetFileName(FileUploadControl.FileName); 
FileUploadControl.SaveAs("C:\\Users\\admin\\Desktop\\ExperimentForFolder\\" + filename1); 

我也尝试

FileUploadControl.SaveAs(@"C:\Users\admin\Desktop\ExperimentForFolder\" + filename1); 

但它仍然吓坏了。我不明白什么是错的。你能帮我么。

感谢预期

+3

**你会得到什么错误?** – SLaks 2011-05-01 13:51:08

+1

可能是**权限被拒绝**? – 2011-05-01 13:53:03

+0

@SLaks http://postimage.org/image/mh0rog4k/ – 2011-05-01 13:55:07

回答

5

为什么你需要将文件保存到你的机器的桌面?

您的最终选择应该是使用您的应用程序文件夹。它可以像...

FileUpload1.SaveAs(Server.MapPath("~/AppFolderName/" + FileName)); 
+0

@穆罕默德我如何获得应用程序文件夹物理路径?我知道使用〜(代字号)符号会将您带到应用程序根文件夹,但我如何再次访问文件路径(我指的是文件的完整物理路径),以便我允许用户下载由我上传的组件? – 2011-05-01 14:03:16

+0

Server.MapPath函数是你需要的。尝试探索这种方法workoing。 – 2011-05-01 14:13:01

+0

@穆罕默德谢谢你! – 2011-05-01 14:28:54

1

您需要在您存储文件到...在服务器桌面不存储的地方权限。

尝试此启动:

FileUploadControl.SaveAs(Server.MapPath(filename1)); 

这将在同一地点的文件存储为您.aspx文件,如果它的工作原理,那么你可以创建单独的文件夹中有则改代码:

FileUploadControl.SaveAs(Server.MapPath("ExperimentForFolder/" + filename1)); 
+0

如何获取应用程序文件夹的完整物理路径? – 2011-05-01 13:57:35

+1

'Server.MapPath(filename1)'将返回完整的物理路径。 – 2011-05-01 13:59:18