2013-07-03 23 views

回答

0

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

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

如果你只是下载文件和上传马上,你还不如它保持在内存中,因为你可能会把它加载到内存反正为了base64编码的内容。

那么,如果你正在将文件读入内存,那么你应该需要一个nsIFile。您可以使用XMLHttpRequest下载它并使用responseText,并按照我在答案中描述的方式上传它。如果你确实有nsIFile,那么是,该片段描述了如何从中读取。

0

我假设你想要通过HTTP上传。

如果是这样,上传限制通常由服务器端软件决定。这会影响最大尺寸和上传时间。

如果没有服务器能够上传大块数据并重新组装,那么您的软件限制无法通过软件进行。

另一方面,如果你想通过FTP上传,有很多选择......看看FireFTP

+0

嗨杰里米, 我要跨域上传,我想在块上传。我已经决定上传服务器上的限制。 我可以在Firefox插件中做到这一点。如果是,那么如何 给我一些链接或更多 –

+0

您还没有提供足够的信息,使其远程可能给你更多的建议。问题的范围从“您是在控制在服务器上运行的软件还是由其他人运行的软件”到“您是在寻找适合您的解决方案?还是为公众工作”。如果服务器上有可用于文件上传的FTP/SFTP/etc等,您也没有回答。 –

0

我已经为fileupload做了firefox插件。

我整合了jquery文件上传。

我创建了一个小部件。在我制作面板的小工具中。在面板中,我为文件上传创建单独的网页。小组正在呼叫该页面。

欲了解更多信息,您可以在[email protected]寄给我

相关问题