0
我在web.config中配置了maxrequestlength = 10MB
。但是在我的系统中有一个导入.csv
和.csv
的功能,我的客户导入的功能可以超过10MB
。所以,我需要一个性能良好的模式发送一个大的json
(导入的json
)。发送大型json到服务器的最佳模式
我想到zip
或发送json
在部分。什么是最好的模式?
是否有其他形式更有效?
我在web.config中配置了maxrequestlength = 10MB
。但是在我的系统中有一个导入.csv
和.csv
的功能,我的客户导入的功能可以超过10MB
。所以,我需要一个性能良好的模式发送一个大的json
(导入的json
)。发送大型json到服务器的最佳模式
我想到zip
或发送json
在部分。什么是最好的模式?
是否有其他形式更有效?
使用文件API(https://www.html5rocks.com/tutorials/file/dndfiles/),我们可以最大限度地减少上传大文件的工作量。该技术是将上传分成多个块,为每个部分产生一个XHR,并将该文件放在服务器上。这与GMail如何快速上传大型附件类似。这种技术也可用于解决Google App Engine的32MB http请求限制。
function upload(blobOrFile) {
var xhr = new XMLHttpRequest();
xhr.open('POST', '/server', true);
xhr.onload = function(e) { ... };
xhr.send(blobOrFile);
}
document.querySelector('input[type="file"]').addEventListener('change', function(e) {
var blob = this.files[0];
const BYTES_PER_CHUNK = 1024 * 1024; // 1MB chunk sizes.
const SIZE = blob.size;
var start = 0;
var end = BYTES_PER_CHUNK;
while(start < SIZE) {
upload(blob.slice(start, end));
start = end;
end = start + BYTES_PER_CHUNK;
}
}, false);
})();
这里没有显示的是重构服务器上的文件的代码。
P.S.因为像http://underscorejs.org/#zip这样的功能也可以使用。
我会测试这个例子。谢谢 – user3352698