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

时间:2012-10-24 01:51:24

标签: php javascript html canvas

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

2 个答案:

答案 0 :(得分:0)

您始终可以尝试让服务器为该网址发出http请求,但有几个问题:

  1. 您需要检查以确保http请求无法在内部解析;也就是说,只允许外部站点,否则你只是为你的网络设置了一个安全漏洞,允许一旦只知道正确的路径就可以从外部看到曾经只能在外部看到的东西。
  2. 无法保证您从中提取图片的服务器会强制要求您。他们可能会检查图像是从“授权”(使用松散的术语)页面引用的,或者他们可能会拒绝某些用户代理字符串,或断言某些cookie被设置,或者上面的某些组合
  3. 您可能需要实施某种检查以确保用户有权请求您的服务器发出网址请求,并且返回的内容确实是某种图像类型,否则您只是半功能可能被滥用的代理(特别是如果您担心对您的网站的跨站点脚本攻击;)并且理想情况下您也不希望允许您的用户过度使用您的服务器而不是真正的目的。
  4. 一旦您遇到问题#1和#3,严格来说,没有理由将文件实际复制到您的服务器,但如果您将文件保存到服务器,则使用可能会更稳定。但如果你要保存它,那么还有其他问题。

    1. 您如何限制对当前用户的文件的访问?
    2. 你的清理策略是什么?
    3. 请求是否需要利用某种客户端缓存来获得合理的性能?文件的具体用途如何?这些文件的名称是什么?
    4. 如果文件受版权保护,或者更糟糕的是非法
    5. ,该怎么办?

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

答案 1 :(得分:-1)

是。您可以通过AJAX完成此操作。

相关问题