我们想要中断plupload uploader,而是从所选文件中获取文件控制对象或base64字符串,以便我们将它们上传到Parse.com。 (我们实际上只是使用pluploader进行检查和UI灵活性。)
我们尝试在preInit事件中访问pluploader的“UploadFile:function(up,file)”中的文件对象 - 但是虽然file.id和file.name存在,但file似乎不是文件控制对象,因为它使用Parse.com抛出对象“类型”错误。
另一个stackoverflow [问题](Can Uploadify or Plupload upload selected files at the same time as the rest of the form data?)表明它是可能的,因为plupload 的核心是客户端javascript - 但目前还不清楚如何。
想法?
答案 0 :(得分:1)
在当前版本的Plupload(1.5.7)中,每个运行时(html5,html4,flash,...)都拥有自己的逻辑,用于访问文件数据或将其上载委托给第三方。高级上传者不了解数据。
只需考虑HTML5 uploader,就可以看到,当文件添加到文件输入时:
也许你可以:
类似的东西:
uploader.init();
var fileArray = []
var inputFile = document.getElementById(uploader.id + '_html5');
inputFile.onchange = function oninputFileChanged() {fileArray.push(this.files);};
取消绑定默认的UploadFile处理程序
uploader.unbind( 'UploadFile');
使用fileArray实现自己的UploadFile处理程序,based on HTML5 handler implementation (~300 lines...)
请注意,这仅涵盖HTML5运行时。似乎有很多工作要做恕我直言。
作为旁注,在GitHub上的plupload的主分支the File class features getSource() and getNative() functions。我想它可以作为plupload download page上的plupload 2 beta链接。值得一试,我会说。
希望这会有所帮助