【问题标题】:jquery-file-upload Uploaded bytes exceed file sizejquery-file-upload 上传的字节数超过文件大小
【发布时间】:2015-02-11 11:30:50
【问题描述】:

我正在使用 jquery-file-upload 插件来上传一些文件。 我绑定了添加回调,在该回调中我收集要上传的文件,并在提交表单时发出“发送”命令开始上传。

我面临的问题是在成功上传时调用失败回调,并显示以下错误消息: "上传的字节数超过文件大小"

谁能解释一下这个错误是什么意思?为什么我一直收到它?

感谢您的帮助。

10 倍

【问题讨论】:

  • 修改maxFileSize属性。
  • 当同名文件已存在时出现此错误。不知道这是否有帮助。

标签: javascript jquery file-upload jquery-file-upload


【解决方案1】:

我也收到此错误,但我将 dataType 值设置为 JSON。 我删除了打开的 dataType 并停止收到此错误。

这只对我有用,因为我没有让 Json 回来

【讨论】:

  • 不知道为什么你投了反对票。对于某些 IE 9 用户来说,这也是我的问题。谢谢。
【解决方案2】:

我也遇到了这种错误。我花了一整天的时间才找到问题的原因。所以,我改变了很多东西,其中包括:

  • 我在 php.ini 中明确设置了“upload_tmp_dir”指令 - 它是 不相关的;
  • 检查并增加了 php.ini 中“upload_max_filesize”和“post_max_size”指令的值 - 这也不是原因。
  • 在我的文档根目录中创建了所有文件夹:“images/”和“images/temp/” - 虽然是必要的,但没有帮助。

问题是图像初步上传(Silex/Symfony 库)的 AJAX 发布请求有一个单独的根,在我复制的示例中,作者(故意)从请求中省略了“url”选项,如:

$('#fileupload').fileupload({
    dataType: 'json',
    url: '/post/upload', // this was missing
    replaceFileInput: false,
    fileInput: $('input:file'), ...  

同时,该元素所属的表单将其自己的路由设置为“/post/”,并且在缺少“url”选项的情况下,插件显然是从父表单中获取的。

因此,没有调用控制器,上传的文件未处理,错误文本具有误导性。

PS。插件的这种“自动替换”也可能会影响用于请求的方法(PUT 或 POST),因为我在控制器中都使用了 - 用于表单的“PUT”和用于文件上传管理的“POST”,但我没有检查。

【讨论】:

    【解决方案3】:

    我尝试在控制台中查看所有可用消息并找到了这个

    always: function(e, data) {
        console.log(data.jqXHR.responseJSON.files[0].error);
    

    就我而言,由于我上传的文件超出了 php.ini 中的 upload_max_filesize 指令,我收到了错误

    不会给你确切的错误。

    console.log(data.messages);
    

    【讨论】:

      【解决方案4】:

      确保您的表单仅包含 AWS 期望的输入。不要添加您自己的额外表单字段。或者,如果您这样做了,请在 AWS 上传开始之前使用 JS 将其删除。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-12-08
        • 2018-06-02
        • 1970-01-01
        • 2016-05-13
        • 2015-09-02
        • 2012-09-06
        • 1970-01-01
        相关资源
        最近更新 更多