【发布时间】:2015-05-25 17:48:05
【问题描述】:
我现在尝试了各种版本,但我似乎只是错过了一些东西。
有趣的是,到目前为止我还没有找到一个例子。
我的Javascript似乎只上传了[object XMLDocument]。
(我尝试将 XML-Document 保存在接收 perl 脚本中,这是 perl 脚本写入输出文件的字符串。)
对于 JavaScript 部分,我查看了 Mozilla's Using FormData Objects。
然后想出了:
function httpPerlUploadBigData(fuPerlTarget, contentToWrite, fuCallMeOnLoad) {
var formData = new FormData();
var blob = new Blob([contentToWrite], { type: "text/xml"});
formData.append('file', blob, "filename.txt");
formData.append('bigcontent', contentToWrite);
formData.append('saveOnServerAs', 'temp.xml');
var MyThis = this;
this.perlTarget = fuPerlTarget;
this.callMeOnLoad = fuCallMeOnLoad;
var oReq = new XMLHttpRequest();
oReq.open("POST", MyThis.perlTarget, true);
oReq.onload = function(e) {
MyThis.callMeOnLoad( e.target.response );
};
oReq.send(formData);
}
我发送contentToWrite 两次,因为我想以脚本视为已上传文件的方式上传它。我在将其作为纯文本上传之前尝试过的其他代码,但因为这是 XML,我想上传为文件类型会更好。
【问题讨论】:
标签: javascript xml perl upload xmlhttprequest