0

取得しているファイルをアップロードするためにJquery fineUploaderを使用しています

404 - ファイルまたはディレクトリが見つかりません。

30MB 未満の小さなファイルに対して 30MB を超えるファイルをアップロードする場合は正常に動作します。

火災のバグでは、エラーが表示されます:

[FineUploader] Error when attempting to parse xhr response text
(SyntaxError: JSON.parse: unexpected character)

 [FineUploader] Caught exception in 'onValidate' callback -TypeError: file is undefined
 log(a="[FineUploader] Caught e...rror: file is undefined", b="error")

ここに画像の説明を入力

以下は私のハンドラコードです:

 public void ProcessRequest(HttpContext context)
{
    string directoryID = context.Request["dId"];
    var response = new AjaxResponse { ResponseData = "" };

    if (!string.IsNullOrEmpty(directoryID))
    {
        int spaceID = 0;
        int dirID = Convert.ToInt32(directoryID);

        string directoryPhysicalPath = "D:\\Files\\";
        string fileName = context.Request["qqfile"];

        string saveLocation = Path.Combine(directoryPhysicalPath, fileUniqueName);
        if (!Directory.Exists(directoryPhysicalPath))
        {
            Directory.CreateDirectory(directoryPhysicalPath);
        }

        DateTime currentDateTime = DateTime.UtcNow;

        var file = new File();
        try
        {
            int bytesRead = 0;
            Stream inputStream = context.Request.InputStream;
            byte[] buffer = new byte[inputStream.Length];

            try
            {
                using (var fileStream = new FileStream(saveLocation, FileMode.Create))
                {
                    do
                    {
                        bytesRead = context.Request.InputStream.Read(buffer, 0, buffer.Length);
                        fileStream.Write(buffer, 0, bytesRead);
                    } while (bytesRead > 0);
                }

                file = new File
                {
                    FileName = fileName
                };

               //Add to DB Here

            }
        }
        catch (PathTooLongException ex)
        {
            response.IsError = true;
            response.ResponseMessage = ex.Message;
        }

        File f = //Get data from DB here;

        response.ResponseData = f;

        context.Response.Write(new JavaScriptSerializer().Serialize(response));

    }
}
4

1 に答える 1

0

ありがとうございます。この問題を解決して、web.config の<system.webServer>セクションの下に以下の設定を入れました。

  <security>
    <requestFiltering >
        <requestLimits maxAllowedContentLength="2000000000"/>
    </requestFiltering>
</security> 
于 2013-09-11T09:20:47.270 に答える