如何将文件上传到服务器?

时间:2011-07-28 08:34:32

标签: firefox-addon

我的Firefox插件downloaded该文件并保存在临时文件夹中。结果我有nsIFile个实例。

如何将该文件上传到其他服务器?如果我使用XMLHttpRequest,我不明白如何将nsIFile传递给FormData

或者,我可能不应该只下载文件并将其保存在临时文件夹中 - 因为此文件的唯一用途是上传到另一台服务器。可能,我应该将文件(文件大小~20Kb)保存在内存中?

1 个答案:

答案 0 :(得分:0)

如果您将数据作为application / x-www-form-urlencoded发布到服务器,则应使用btoa()对其进行base64编码,并将其作为请求正文中的POST参数之一包含(即传递的字符串)到XMLHttpRequest.send()):

postbody = "body=" + btoa(fileContents);
xhr.send(postbody);

我同意,如果您只是下载文件并立即上传,您可能会将其保存在内存中,因为您可能无论如何都要将其加载到内存中以便对内容进行base64编码。