2013-04-04 86 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只是創建一個'