javascript - 要将 plupload 与 Parse.com 一起使用,如何访问文件控制对象或 base64 字符串?

标签 javascript parse-platform plupload

我们想中断 plupload 上传程序,而是获取文件控制对象或所选文件的 base64 字符串,以便我们可以将它们上传到 Parse.com。 (我们实际上只是使用 pluploader 进行检查和 UI 灵 active 。)

我们尝试在 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 - 但目前还不清楚如何实现。

想法?

最佳答案

在当前版本的 Plupload ( 1.5.7 ) 中,每个运行时(html5、html4、flash...)都拥有自己的逻辑来访问文件数据或将其上传委托(delegate)给第三方。高级上传者不了解数据。

简单地考虑HTML5 uploader ,您可以看到,当文件添加到文件输入时:

  • 为此文件生成一个 GUID ID
  • 二进制文件对象被添加到私有(private)对象,映射到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
  • 取消绑定(bind)默认的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 链接提供。 。我想说值得一试。

希望这会有所帮助

关于javascript - 要将 plupload 与 Parse.com 一起使用,如何访问文件控制对象或 base64 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18538384/

相关文章:

jquery - 我将如何使用 jQuery.Deferred 对象来等待异步函数调用完成?

javascript - 有两个可能的组,我如何引用不匹配的组?

JavaScript 正则表达式测试多行字符串是否以回车符结尾

javascript - $(window).hashchange() 不起作用

ios - 如何使 imageView 固定大小并带有圆角

java - onNewIntent 没有被调用

javascript - Highcharts 位置工具提示在堆叠条的中间

ios - 如何使用 Objective-C 从 Parse for iOS 中的二级指针检索值

javascript、jquery、plupload 是否可以在不重新加载页面/对象的情况下即时将参数传递给 URL

javascript - plupload 上传的相反顺序