如何在blueimp上使用自己的文件处理程序jQuery文件上传

how to use own file process handler on blueimp jQuery File Upload?

本文关键字:文件 处理 程序 jQuery 自己的 blueimp      更新时间:2023-09-26

我得到了我自己的PHP图像文件上传处理程序。我只是在寻找一个jQuery解决方案来优化上传栏和多个文件选择。所以我花了几个小时进入jQuery文件上传-没有ui,基本设置。我做了我需要的所有js更改,并试图实现它到我现有的文件上传表单。

但现在我意识到,/server/php/UploadHandler.php是必要的jQuery脚本。如果没有这个php文件,我就无法得到"done"事件。

我不想使用文件处理UploadHandler类,因为我有很多自己的步骤,如水印,需要在上传的图像文件上处理。我喜欢这样做:

done: function (e, data) {
    // alert('done!');
    document.upload.submit(); // existing upload form including jQueryFileUpload
},

如何在这个PHP类中去掉文件处理?我只是想"jQuery文件上传"提供一个很好的多部分文件选择,一个jQuery图像预览和它的伟大的处理栏。

是否有办法阻止PHP触摸文件?

我也遇到过类似的问题。我们希望在HTML表单中上传文件以及一些其他数据,而不是简单的上传。对于这种情况,提供的PHP类是不够的。

你可以很容易地编写自己的PHP上传处理程序,使用提供的一个作为参考。或者使用其他后端技术。重要的是使用后端上传处理程序的url作为表单操作。

在JS中,如果你不想立即提交,你必须覆盖fileupload widget的"add"选项。"完成"只对评估结果有用。我们将数据保存在add处理程序中的闭包变量中,并在用户想要提交时使用它来提交。通过这种方式,其他表单数据将随上传请求自动发送。这样的:

(function()
{
  var uploadData;
  $("#uploadInput").fileupload(
  {
    add : function(e, data)
    {
      uploadData = data;
    },
   ... other options ...
  });
  $("#submit").submit(function()
  {
    if (uploadData != null)
      uploadData.submit();
   }
})();

不确定这是否适用于多个上传,但我希望这有助于。