【问题标题】:Uploading a file using fileupload control in asp.net使用 asp.net 中的文件上传控件上传文件
【发布时间】:2011-08-16 11:13:16
【问题描述】:

我想在 asp.net 中使用 FileUpload Control 上传文件,我正在使用以下代码:

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

我也试过

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

但它仍然吓坏了。我不明白出了什么问题。你能帮帮我吗?

感谢期待

【问题讨论】:

标签: c# asp.net file-upload


【解决方案1】:

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

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

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

【讨论】:

  • @Muhammad 如何获取应用程序文件夹的物理路径?我知道使用〜(波浪号)符号会将您带到应用程序根文件夹,但是我怎样才能再次访问文件路径(我的意思是文件的完整物理路径),以便我允许用户下载我上传的组件?
  • Server.MapPath 函数是您所需要的。尝试探索这种方法是否可行。
  • @Muhammad 如何读取上传文件的内容并存储在某个字符串变量中?我该怎么做?
  • 内容是什么意思?我不完全理解你的问题。
  • 是的,首先你必须放置一些应用程序文件夹,然后你可以使用 System.IO.File.Read(AppFolderPath); 读取文件;
【解决方案2】:

您需要对文件存储位置的权限...不要存储在服务器桌面中。

试试这个开始:

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

这会将文件存储在与您的.aspx 文件相同的位置,如果它有效,您可以在那里创建单独的文件夹,然后将代码更改为:

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

【讨论】:

  • 如何获取应用程序文件夹的完整物理路径?
  • Server.MapPath(filename1) 将返回完整的物理路径。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-27
  • 1970-01-01
  • 1970-01-01
  • 2016-11-10
  • 2016-08-10
  • 2015-12-08
  • 1970-01-01
相关资源
最近更新 更多