我需要发送XML请求,其中包含通过填写HTML表单获得的文件的值和内容。有5个文件,其中一些有aprox。 70 MB或更多。所以我在javascript中使用了一些函数,它加载文件的内容,另一个函数汇编XML请求并发送它。 问题是:在我点击按钮加载文件后,浏览器崩溃了(但我可以通过浏览器打开这些文件 - 没关系)。文件太大,因此浏览器无法处理它。 问题出在哪里?以及如何处理它?我以为它可能会暂停,但真的不知道...
加载文件的功能:
function getFile1Content() {
var file = document.getElementById("file_zdr").files[0];
if (file) {
var reader = new FileReader();
reader.readAsText(file, "UTF-8");
reader.onloadend = function (evt) {
fileContent1 = evt.target.result;
loaded++;
console.log("FC1 " + fileContent1)
}
reader.onerror = function (evt) {
console.log("ERROR FC1");
}
}
}
感谢您的想法!
答案 0 :(得分:0)
工作原理是浏览器向服务器发送请求以完成所有繁重的工作。因此,基本上,您向服务器发送请求以执行此操作并返回该请求,以便用户可以使用数据。
这似乎对我来说是您正在尝试加载许多文件。浏览器为什么打开文件?您要将它们发送到服务器吗?还是您正在搜索它们?无论哪种方式,使用浏览器处理多个大文件都不是一个好主意。
如果您要搜索文件:您应该使用文件上传表单<form><input accept="*" type="upload"></form>
将文件发送到服务器,并让服务器临时保存它们,并在文件发送后进行搜索,并返回您要向用户显示的内容。
我愿意帮助您解决这个问题!