我有自己的PHP图像文件上传进程处理程序。我只是在寻找一个jQuery解决方案来优化上传栏和多个文件选择。所以我花了几个小时才进入jQuery文件上传 - 没有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触摸文件?
答案 0 :(得分:2)
我有类似的问题。我们希望在HTML表单中上传文件以及其他一些数据,而不是简单的上传。为此,提供的PHP类是不够的。
您可以轻松编写自己的PHP上传处理程序,使用提供的一个作为参考。或者使用其他一些后端技术。重要的是使用后端上传处理程序的URL作为表单操作。
在JS中,如果您不想立即提交,则必须覆盖fileupload小部件的“add”选项。 “完成”仅对评估结果有用。 我们将add处理程序中的数据保存在一个闭包变量中,并在用户想要提交时使用它来提交。这样,其他表单数据将自动与上载请求一起发送。像这样:
(function()
{
var uploadData;
$("#uploadInput").fileupload(
{
add : function(e, data)
{
uploadData = data;
},
... other options ...
});
$("#submit").submit(function()
{
if (uploadData != null)
uploadData.submit();
}
})();
不确定这是否适用于多次上传,但我希望这会有所帮助。