jQueryFileUpload根据其URL上传文件

时间:2013-09-12 16:28:03

标签: javascript jquery file file-upload jquery-file-upload

我想使用jQueryFileUpload上传一个不在我的计算机上的文件,而是在外部网站上,所以我只有它的URL,例如https://dl.dropboxusercontent.com/s/wkfr8d04dhgbd86/onarborLogo64.png

我完全不知道如何做到这一点,但我认为它涉及adding the file data programmatically,而不是使用传统的基于<label for='myComputerFiles'>的文件选择。

如果这是正确的,接下来是FileReader()

任何想法都会受到赞赏。

1 个答案:

答案 0 :(得分:2)

你应该在服务器上执行此操作 - 它需要用户干预才能在本地下载,这看起来很简陋和不友好。

原因?您必须先下载文件(这是一个不确定的过程),然后将其上传到服务器。如果您将URL传递给服务器,那么它可以在1个操作中执行整个过程 - 下载(实际上与您上传它相同)。此外,读取本地文件的能力(FileReader的用途)并不意味着您应该下载文件以便再次上传它们。这是错误的逻辑,你的用户也不会欣赏它。

此外,Dropbox Chooser并不是一种下载文件的方式。这意味着要替代下载文件,或将其上传到其他服务器...... ...without having to worry about the complexities of implementing a file browser, authentication, or managing uploads and storage

由于您使用的是S3,如果在S3上有一个允许您指定URL的API调用,那么这将是最明显的使用方法。如果您不能这样做,那么您需要为用户下载文件(在您的服务器上),然后将文件上传到S3,或者您回到最初在客户端下载并从那里上传的想法。无论哪种方式,S3的引入显然增加了另一层复杂性,但我最初看的是从客户端获取URL并在我的服务器上获取该文件,以便我可以做任何我想要的事情。

此前一个问题可能对此领域有所帮助...

How to upload files directly to Amazon S3 from a remote server?