【问题标题】:jQueryFileUpload upload a file given its URLjQueryFileUpload 上传一个给定 URL 的文件
【发布时间】:2013-09-12 16:28:02
【问题描述】:

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

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

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

任何想法将不胜感激。

【问题讨论】:

  • 您应该在服务器上执行此操作 - 需要用户干预才能在本地下载它,这看起来很笨拙且不友好。
  • @Archer 感谢您的想法。真正的场景是使用Dropbox Chooser,这样就会有明确的用户干预来从自己的 Dropbox 中“选择”文件。此外,jQueryFileUpload 已经使用FileReader() 来预览<label for='myComputerFiles'> 选择的文件。显然,我不想变得老套和不友好,但在我看来,处理这个客户端是每个人 (Dropbox's/jQueryFileUpload/FileReader()) 的意图以及the way of the future
  • 我明白你在问什么,但老实说,我相信这最好在服务器上完成。原因?您必须首先下载文件(这是一个不确定的过程),然后将其上传到服务器。如果您将 URL 传递给服务器,那么它可以在 1 个操作中执行整个过程 - 下载(这实际上与您上传它相同)。此外,读取本地文件的能力,这就是 FileReader 的用途,并不意味着您应该下载文件以再次上传它们。这是错误的逻辑,您的用户不会欣赏它。
  • 另外,Dropbox 选择器并不是一种下载文件的方式。它旨在替代下载文件或将它们上传到其他服务器......without having to worry about the complexities of implementing a file browser, authentication, or managing uploads and storage
  • 如果 S3 上有一个 API 调用允许您指定一个 URL,那么这将是最明显的使用方法。如果你不能这样做,那么你要么需要为用户下载文件for(到你的服务器上),然后将文件上传到 S3,或者你回到原来的下载想法客户端并从那里上传。无论哪种方式,S3 的引入显然增加了另一层复杂性,但我最初会考虑从客户端获取 URL 并在我的服务器上获取该文件,以便之后我可以做任何我想做的事情。

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


【解决方案1】:

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

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

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

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

上一个问题可能对这方面有一些帮助......

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    • 1970-01-01
    • 2015-03-28
    相关资源
    最近更新 更多