0

私はasp.net Webformsコントロールをいじって、それらをより適切に使用する方法を学びましたが、fileuploadコントロールで問題が発生したようです。img をアップロードすると、私が書いたコードが機能することに気付きましたが、PDF または RAR ファイルをアップロードしようとすると、次のエラーが表示されます。

localhost への接続が中断されました

これは私のコードです:

<div id="center">
       <asp:FileUpload ID="FileUpload1" runat="server" />
       <br />
       <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
       <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>


protected void Button1_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile) {
            try
            {
                string filename = FileUpload1.FileName;
                FileUpload1.SaveAs(Server.MapPath("~/Files/") + filename);
                Label1.Text = "File has been uploaded";
            }
            catch (Exception ex) {
                Label1.Text = "The file could not be uploaded";
            }
        }   
    }

何が問題ですか?他のファイル形式をアップロードできないのはなぜですか?

4

2 に答える 2

2

デフォルトの最大サイズ(つまり4MB)を超えるファイルをアップロードしようとすると、ページがリセットまたは中断される可能性があります。設定ファイルで最大サイズを設定できます。

<system.web>
<httpRuntime executionTimeout="240" maxRequestLength="20480" />
</system.web>

Fileupload制御についてはここで詳しく説明します。 http://weblogs.asp.net/jgalloway/archive/2008/01/08/large-file-uploads-in-asp-net.aspx

于 2012-10-08T07:38:19.330 に答える
1

以下のようにファイル拡張子を付けてアップロードしてみてください。

protected void Button1_Click(object sender, EventArgs e) 
    { 
        if (FileUpload1.HasFile) { 
            try 
            { 
                string filename = FileUpload1.FileName; 
                FileUpload1.SaveAs(Server.MapPath("~/Files/") + filename + System.IO.Path.GetExtension(FileUp.PostedFile.FileName); 
                Label1.Text = "File has been uploaded"; 
            } 
            catch (Exception ex) { 
                Label1.Text = "The file could not be uploaded"; 
            } 
        }    
    } 
于 2012-10-08T07:46:15.417 に答える