0

MVC、jQuery、Ajax を使用してファイル アップローダーを作成しました。ただし、1 ~ 3 キロバイトのファイルのみで正常に機能し、それよりも大きなファイルでは機能しません。大きいサイズのファイルをアップロードするには?

HTML:

<input type="file" name="bfile"  size="50" id="bfile"/>
   <input type="butt

AppAttachmentsController-コントローラー コード:

 public string file_upload(string file_name, string file_binary)
        {

            byte[] byteArray = System.Text.Encoding.ASCII.GetBytes(file_binary);
            MemoryStream stream = new MemoryStream(byteArray);
            string path=Server.MapPath(Url.Content("~/upload/file"))+"\\"+file_name;
            using (var fileStream = new FileStream(path, FileMode.Create))
                stream.CopyTo(fileStream);

            return "1";
        }

jQuery、Ajax :

function AttachemtPost() {
    var file_name = $("#bfile").val(); 
    var data = "file_name=" + file_name;
    var file = document.getElementById('bfile').files[0];
    var file_binary = file.getAsBinary();
    var file_size = file.fileSize;
    var file_text = file.getAsText("");
    alert('file :' + file_binary);
    alert('file size:' + file_size);
    data = "file_name=" + file_name + "&file_binary=" + file_binary;       
    ajaxlocalcall2(null, "POST", '@Url.Content("~/AppAttachments/file_upload")', data, "", "", "html", "oncontactinfosave");    
}
4

1 に答える 1

0

web.configで許可される最大リクエストサイズ(デフォルトでは4MB)を増やしてみてください。

<httpRuntime maxRequestLength="size in kbytes" />

また、IIS 7以降でアプリケーションをホストする場合は、要求制限を設定する必要があります。

<system.webServer>
    <security>
        <requestFiltering>
            <requestLimits maxAllowedContentLength="size in bytes" />
        </requestFiltering>
    </security>
</system.webServer>
于 2012-05-23T06:28:12.407 に答える