2013-04-04 85 views
1

我正在探索使用HTML5,JavaScript,WebSockets,MQTT和HTTP发送文件的不同方式。我一直试图从我的本地文件系统读取位于服务器上的zip文件,并将其作为二进制blob接收。一旦我有这个二进制blob,我希望将它转发给其他客户端,但这是另一个问题。用JavaScript流二进制流

我在尝试下载文件时遇到了一些安全限制问题,但我不确定我想要做的事实际上是否可行。使用任何东西,但“JSONP”作为类型呈现象这样的错误:

Origin null is not allowed by Access-Control-Allow-Origin. 

我有一些jQuery的代码在这里,我希望会读取压缩文件和BLOB还给我。我猜想认为JSONP可以提供刚刚填充的json的二进制数据insta是天真的。

$(document).ready(function() { 
    $.ajax({ 
     url : 'http://example.com/myzip.zip', 
     dataType : 'jsonp', 
     jsonp : 'callback', 
     jsonpCallback : 'jsonpCallback', 
     success : function() { 
      alert("success"); 
     } 
    }); 

}); 

function jsonpCallback(data) { 
    alert(data.message); 
} 

这是我得到的错误,我想是因为我设法得到压缩的数据,而不是JSON数据。

Resource interpreted as Script but transferred with MIME type application/zip: "http://example.com/myzip.zip?callback=jsonpCallback&_=1365093133651". 

无论如何,如果任何人有一个线索,如果它可以读取从第三方服务器一个zip文件并将其保存为二进制BLOB在JavaScript变量,我会非常高兴。

+0

据我所知,jsonp只是创建一个'