【问题标题】:Using boto to force the browser to show the image instead of downloading it?使用 boto 强制浏览器显示图像而不是下载它?
【发布时间】:2017-01-12 23:45:28
【问题描述】:

我有以下图片文件:

https://s3-us-west-1.amazonaws.com/premiere-avails/008378019847.jpg

如果您单击该链接,它将强制下载到您的浏览器。我如何让这个文件在浏览器中打开,例如下面的链接是如何做的? https://lh3.googleusercontent.com/-r-NV4YMr0Gc/AAAAAAAAAAI/AAAAAAAAFvE/BcDknpxfm7M/s120-c/photo.jpg

我想在批量操作中使用boto 来完成此操作。

【问题讨论】:

  • 都是.jpg的吗?
  • 是的,都是jpeg。
  • 太棒了,我想我有你的答案了。等一下。

标签: python amazon-s3 boto


【解决方案1】:

当我打开 Chrome 的网络检查器访问您的图片时,我看到 application/octet-stream 为 content-type。

我认为您需要将content-type 指定为image/jpeg。我在 S3 存储桶上对此进行了测试,这解决了由 application/octet-stream 引起的“问题”。

我不知道如何使用 boto 进行批量操作,但 this answer 显示了如何在单个对象上进行操作。您只想将content-type 元数据更改为image/jpeg。

【讨论】:

    【解决方案2】:

    您可以在将图像发送到 s3 之前进行设置

    import boto
    conn = boto.connect_s3(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
    bucket = conn.get_bucket("your-bucket")
    key = bucket.new_key("your-key")
    key.content_type = "image/jpeg"
    key.set_contents_from_string("content")
    key.make_public()
    

    【讨论】:

      猜你喜欢
      • 2016-07-31
      • 2013-02-21
      • 2011-06-19
      • 2011-06-12
      • 2011-03-01
      • 2015-10-22
      • 1970-01-01
      • 2016-02-25
      • 2011-08-04
      相关资源
      最近更新 更多