Jor*_*Wii 5 javascript ajax html5 mootools google-chrome
我正在开发一款使用HTML5文件系统API的Chrome应用,并允许用户导入和同步文件.我遇到的一个问题是,如果用户尝试同步图像文件,则在上传到服务器的过程中文件会被破坏.我假设它是因为它们是二进制的.
为了上传,我选择只发出一个Ajax POST请求(使用MooTools),然后将文件内容作为请求的主体.我告诉MooTools关闭urlEncoding并将charset设置为"x-user-defined"(不确定是否有必要,我只是在某些网站上看到它).
鉴于Chrome不支持xhr.sendAsBinary,是否有人有任何示例代码允许我通过Ajax发送二进制文件?
FF xhr.sendAsBinary()不是标准的.XHR2支持发送文件(xhr.send(file))和blobs(xhr.send(blob)):
function upload(blobOrFile) {
var xhr = new XMLHttpRequest();
xhr.open('POST', '/server', true);
xhr.onload = function(e) { ... };
// Listen to the upload progress.
xhr.upload.onprogress = function(e) { ... };
xhr.send(blobOrFile);
}
Run Code Online (Sandbox Code Playgroud)
你也可以发一个ArrayBuffer.
| 归档时间: |
|
| 查看次数: |
5213 次 |
| 最近记录: |