要在Parse.com中使用plupload,如何访问文件控制对象或base64字符串
To use plupload with Parse.com, how do you get access to the file control object or base64 string?
我们想中断pluploader,而是从所选文件中获取文件控制对象或base64字符串,这样我们就可以将它们上传到Parse.com
我们尝试在preInit事件中访问pluploader的"UploadFile:function(up,file)"中的文件对象,但尽管存在file.id和file.name,但该文件似乎不是文件控制对象,因为它向Parse.com抛出了对象"type"错误。
另一个stackoverflow[问题](Uploadify或Plupload是否可以在上传表单数据的同时上传选定的文件?)表明这是可能的,因为Plupload在其核心是客户端javascript,但尚不清楚如何上传。
想法?
在当前版本的Plupload(1.5.7)中,每个运行时(html5、html4、flash…)都有自己的逻辑,用于访问文件数据或将其上传委托给第三方。高级上传者对数据一无所知。
简单地考虑HTML5上传器,你可以看到,当一个文件被添加到文件输入时:
- 将为此文件生成guid id
- 二进制文件对象被添加到一个私有对象,映射到guid-id
也许你可以:
- 订阅fileInput onchange事件以获取二进制文件对象并将它们存储在您自己的数组中
类似于:
uploader.init();
var fileArray = []
var inputFile = document.getElementById(uploader.id + '_html5');
inputFile.onchange = function oninputFileChanged() {fileArray.push(this.files);};
- 订阅FilesAdded事件,并通过将返回的文件名和文件大小与存储在自己阵列中的文件名匹配来检索分配给二进制文件对象的guid
取消绑定默认的UploadFile处理程序
uploader.unbind('UploadFile');
使用fileArray实现您自己的UploadFile处理程序,基于HTML5处理程序实现(大约300行…)
请注意,这仅涵盖HTML5运行时。IMHO似乎有很多工作要做。
附带说明一下,在GitHub上的plupload的master分支中,File类具有getSource()和getNative()函数。我想它可以作为plupload下载页面上的plupload 2测试版链接使用。我认为值得一试。
希望这将有助于
- 如何通过脚本访问用户控制值
- 如何使用javascript在不更改页面的情况下访问文件上传所选文件
- 当访问文件时,我可以自动调用例程或函数吗
- 从firefox插件访问文件系统/目录路径
- 输入类型文件-如何访问文件属性
- 通过驱动器API访问文件夹中的文件
- 连接到客户端's PC使用php或JS访问文件
- 如何使用 javascript 循环访问文件系统目录和文件
- 在Chrome中下载后访问文件数据..
- 如何在 JavaScript 中逐字节循环访问文件
- 在本地访问文件
- 使用Phonegap访问文件
- 在QWebview中使用javascript访问文件系统
- Public Dropbox 中的 XMLHttpRequest 访问文件
- 访问允许控制源失败,并带有 www 前缀
- 如何将多个文件添加到数组中并在 AngularJs 中逐个访问文件
- 要在Parse.com中使用plupload,如何访问文件控制对象或base64字符串
- 拒绝WinRT访问文件
- 是否可以从外部文件控制拖缆
- 使用浏览器访问文件系统文件