-1

次の HTML ソースがあります。

 <form name="AddTrack" id="add_track_form" action="AddTrack.aspx" method="post" runat="server">


       <input type="file" name="file1"/><br />
            <input type="file" style="margin-right: 52px;" name="file2" /><br />
            <input type="file" style="margin-right: 52px;" name="file3" /><br />
            <input type="file" style="margin-right: 52px;" name="file4" /><br />
        <button type="submit" class="blue-button">הוסף מסלול</button>
    </form>

この ASPX - C# コードでは:

if (Request.ContentLength != 0)
{
    int Size = Request.Files[0].ContentLength / 1024;
    if (Size <= 512)
    {

        string LocalFile = Request.Files[0].FileName;
        int LastIndex = LocalFile.LastIndexOf(@"\") + 1;
        string File = LocalFile.Substring(LastIndex, LocalFile.Length - LastIndex);
        string Path = Server.MapPath(" ../images/tracks") + "..\\" + File;
        Request.Files[0].SaveAs(Path);
        Response.Write(@"The file was saved: " + Path);
    }
    else
    {
        Response.Write("The file is too big !");
    }
}
else
{
    Response.Write("Unknown Error !");
}

1 つのファイルをアップロードすると問題なく動作しますが、複数のアップロード入力があると動作しません。

私の質問は、なぜ、どうすれば修正できるのですか?

4

2 に答える 2

2

私が見る限りenctype="multipart/form-data"、フォームに追加するだけです:

 <form name="AddTrack" id="add_track_form" action="AddTrack.aspx" method="post" runat="server" enctype="multipart/form-data">

http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2

コンテンツ タイプ「application/x-www-form-urlencoded」は、非 ASCII 文字を含む大量のバイナリ データまたはテキストを送信するのに非効率的です。ファイル、非 ASCII データ、およびバイナリ データを含むフォームを送信するには、コンテンツ タイプ「multipart/form-data」を使用する必要があります。

その enctype を自動的に追加するコントロールを使用していないasp:FileUploadため、手動で行う必要があります。

for(int i = 0; i < Request.Files.Count; i++) {

    int Size = Request.Files[i].ContentLength / 1024;
    if (Size <= 512)
    {
       string LocalFile = Request.Files[i].FileName;
    //.....
}
于 2013-03-29T11:09:03.320 に答える
0

これを使うことをお勧めしますuploadify library、それは無料です

基本的なアップロード ファイル asp.net は複数のダウンロードの可能性を提供しないため

リンク : http://www.uploadify.com/download/

于 2013-03-29T10:57:12.833 に答える