无法上传WebApp Access上的文件

时间:2018-06-08 20:34:18

标签: asp.net file-upload

我构建了一个允许用户将文件上传到文件夹的Web应用程序。我得到以下例外。

  

System.UnauthorizedAccessException:访问路径' C:\ Users \ NAME \ Documents \ Uploads'被拒绝。在System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath)'

我更改了此文件的共享权限,以允许每个人阅读和更改文件,然后我继续遇到异常。

我的代码在这里:



<%@ Page Language="C#" %>
<script runat="server">

    void SubmitButton_Click(Object sender, EventArgs e) {
       if (File1.PostedFile != null) {
          try {
             File1.PostedFile.SaveAs("C:\\Users\\NAME\\Documents\\Uploads");
             Span1.InnerHtml = "Upload Successful!";
          }
          catch (Exception ex) {
             Span1.InnerHtml = "Error saving file <b>C:\\" +
                File1.Value + "</b><br>" + ex.ToString();
          }
       }
    } 

</script>
<html>
<head>
</head>
<body>
    <form runat="server" enctype="multipart/form-data">
        Select a file to upload:<br />
        <input type="file" id="File1" runat="Server">
        <p>
        <input type="submit" id="Submit1" runat="Server" 
         value="Upload File" OnServerClick="SubmitButton_Click">
        <p>
        <span id="Span1" runat="Server" />
    </form>
    </span>
    <p>
</body>
</html>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

void SubmitButton_Click(Object sender, EventArgs e) {
   if (File1.PostedFile != null) {
      try {

     File1.PostedFile.SaveAs(HttpContext.Current.Server.MapPath("/Uploads"));
         Span1.InnerHtml = "Upload Successful!";
      }
      catch (Exception ex) {
         Span1.InnerHtml = "Error saving file <b>C:\\" +
            File1.Value + "</b><br>" + ex.ToString();
      }
   }
} 

在SaveAs方法中,您需要告诉应用程序使用Server.MapPath方法来使用应用程序中的路径而不是绝对路径。

答案 1 :(得分:0)

检查上传文件夹的属性,它可能是只读复选框已选中。