我是 Javascript 和 Firefox 插件编程的新手。
我正在使用附加 SDK 制作一个附加组件,该附加组件记录有关用户浏览活动的一些信息。我使用带有一些硬编码文件名的file
API 。
现在我想在服务器端分析这些日志文件,但我不希望用户经历查找文件并手动上传它们的过程。我想为用户提供一个按钮;单击这些文件将自动上传到服务器。
这种自动上传功能对于整个项目来说非常重要,因为它是一个面向学习的项目,如果用户必须手动上传数据,将很难从用户那里获取数据。
我是 Javascript 和 Firefox 插件编程的新手。
我正在使用附加 SDK 制作一个附加组件,该附加组件记录有关用户浏览活动的一些信息。我使用带有一些硬编码文件名的file
API 。
现在我想在服务器端分析这些日志文件,但我不希望用户经历查找文件并手动上传它们的过程。我想为用户提供一个按钮;单击这些文件将自动上传到服务器。
这种自动上传功能对于整个项目来说非常重要,因为它是一个面向学习的项目,如果用户必须手动上传数据,将很难从用户那里获取数据。
实际文件上传(通过multipart/form-data
)实现起来相当复杂,但是由于您正在控制服务器端 - 为什么不接受文件数据位于表单字段之一中的常规 POST 请求呢?因此,您向服务器发送数据的代码可能如下所示:
var file = require("sdk/io/file");
var {Request} = require("sdk/request");
var params = {};
params.log = file.read("c:\\foo\\bar.log", "b");
params.additional = "some additional form field";
Request({
url: "https://example.com/uploadlog",
content: params,
onComplete: function(response)
{
console.log("Request sent");
}
}).post();
您可以在任何会触发此代码的地方放置一个按钮。