繁体   English   中英

我可以使用javascript \\ php从URL将文件下载到服务器吗

[英]Can I download a file from URL to a server using javascript\php

这里是我的困境:我希望用户能够通过提供一个URL到图像(它可以是任何图像文件)加载图像的画布。 我能做到这一点,而是直接从URL中添加图像防止被导出到文件画布。 所以我想做的是在服务器上创建一个临时副本,并能够以javascript var的形式获取它的路径。...这可能吗?

您总是可以尝试让服务器对该URL发出http请求,但是存在几个问题:

  1. 您将需要检查以确保http请求不会在内部解决; 也就是说,只应允许外部站点,否则,通过允许曾经只能在内部看到的东西现在只要知道正确的路径就可以从外部访问,从而为您的网络制造了一个安全漏洞。
  2. 无法保证您从中提取映像的服务器将满足您的请求。 他们可能会进行检查,以查看是否从“授权”页面(此处使用术语宽松地)引用了该图像,或者他们可能拒绝某些用户代理字符串,或者断言已设置了某些Cookie或上述内容的某种组合。
  3. 您可能需要实施某种检查,以确保用户被授权请求您的服务器发出url请求,并且返回的内容确实是某种图像类型,否则,您已经做了一个半功能代理,可能被滥用(特别是如果您担心对网站的跨站点脚本攻击;)并且理想情况下,您也不想让您的用户出于没有任何实际目的而过度使用您的服务器。

严格来说,一旦遇到了问题1和问题3,就没有理由将文件实际复制到服务器了,但是如果确实将文件保存到服务器,使用情况可能会更稳定。 但是,如果要保存它,则还有其他问题。

  1. 您将如何限制当前用户对文件的访问?
  2. 您的清理策略是什么?
  3. 请求是否需要利用某种客户端缓存来实现合理的性能? 将如何准确地提供文件? 文件将命名为什么?
  4. 如果文件受版权保护,或者更糟的是, 违法吗?

当然,您不必考虑所有这些问题即可实施基本解决方案,但我认为至少考虑一次是明智的。

是。 您可以通过AJAX执行此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM