【问题标题】:blueimp jQuery-File-Upload without ajaxblueimp jQuery-File-Upload 没有 ajax
【发布时间】:2013-02-15 13:47:10
【问题描述】:

我真的很喜欢客户端处理选择文件和预览的过程,可以选择取消或删除。

但是我想用表单上传页面,我不需要使用 ajax。我一直在摆弄所有选项,但无论如何我都找不到与同步选择的文件一起发布。

是否可以将 data.files 与表单一起发布?

【问题讨论】:

  • 在大多数语言中,没有 AJAX 的文件上传非常简单。看来你的问题不是很清楚。 whathaveyoutried.com
  • Jay Blanchard 你用过blueimp jQuery-File-Upload 吗?我知道在没有 ajax 的情况下上传文件非常简单,这不是我的问题。我的问题是使用 blueimp jQuery-File-Upload 进行同步表单发布。
  • 使用表单发布文件需要上传组件与表单发布组件一起使用,但我不确定在这种情况下您的意思是“同步”是什么意思?您是指同时发布表单数据和上传内容吗?如果是这样,请参阅 - github.com/blueimp/jQuery-File-Upload/wiki/…
  • @JayBlanchard 他的意思是正常提交​​表单(没有ajax)。 Jquery-File-Upload 将仅用作 GUI。所以用户可以添加文件、删除文件、删除文件等。当他完成并填写完表单的其余部分后,他点击提交,整个表单被提交并在后端处理,就像它本来应该做的那样在没有JQuery-File-Upload 的情况下处理。有什么想法吗?
  • @theyuv 这个问题已有 5 年历史,过于宽泛且不清楚。你有关于这样做的问题吗?用AJAX上传文件并通过标准帖子上传其他信息真的没有多大意义。

标签: jquery file-upload blueimp


【解决方案1】:

您可以使用 blueimp jQuery-File-Upload 将 replaceFileInput 选项设置为 false,通过标准表单提交来提交文件。

来自文档:

默认情况下,文件输入字段在每个之后替换为一个克隆 输入字段更改事件。这是 iframe 传输队列所必需的 并允许为相同的文件选择触发更改事件,但 可以通过将此选项设置为 false 来禁用

【讨论】:

  • 我们如何动态改变这个选项?我有一个用户可以禁用的自动保存(通过 ajax)表单,因此他应该能够正常提交表单。现在,当自动保存关闭并且用户提交表单时,选定的文件数据不会传递到服务器。
【解决方案2】:
Use config replaceFileInput = false;
jQuery('#add_new_product_form').fileupload({
            // Uncomment the following to send cross-domain cookies:
            //xhrFields: {withCredentials: true},
            fileInput: jQuery('#upload-video'),
            replaceFileInput: false,
            ......
})

而控制器你将获得 $_FILES 来获取视频数据。

【讨论】:

    猜你喜欢
    • 2015-03-06
    • 2017-08-13
    • 1970-01-01
    • 2015-03-21
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 2015-09-13
    • 2014-09-11
    相关资源
    最近更新 更多