1

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

但现在我意识到,/server/php/UploadHandler.php 对 jQuery 脚本来说是必不可少的。如果没有这个 php 文件,我就无法进入“完成”事件。

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

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

如何摆脱这个 PHP 类中的文件处理?我只希望“jQuery 文件上传”提供一个不错的多部分文件选择、一个 jQuery 图像预览和一个很棒的处理栏。

有没有办法阻止 PHP 触摸文件?

4

1 回答 1

2

我有一个类似的问题。我们希望在 HTML 表单中上传文件以及其他一些数据,而不是简单的上传。为此,提供的 PHP 类是不够的。

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

在 JS 中,如果您不想立即提交,则必须覆盖 fileupload 小部件的“添加”选项。“完成”仅对评估结果有用。我们将添加处理程序中的数据保存在一个闭包变量中,并在用户想要提交时使用它来提交。这样,其他表单数据将与上传请求一起自动发送。像这样:

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

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

于 2013-04-17T10:16:11.820 回答