2014-10-03 1 views
0

나는 다음과 같은 이미지 파일이 : 당신이 링크를 클릭하면boto를 사용하여 브라우저가 이미지를 다운로드하는 대신 강제로 다운로드하도록 하시겠습니까?

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을 사용하고 싶습니다.

+0

있습니까 모두 .JPG 년대를 S3 이미지를 전송하기 전에이 작업을 설정할 수 있습니까? – Undo

+0

예, 모두 jpeg입니다. – David542

+0

신난다. 나는 네 대답을 가지고 있다고 생각한다. 잠깐. – Undo

답변

1

크롬의 네트워크 검사기를 사용하여 이미지를 방문하면 application/octet-streamcontent-type으로 표시됩니다.

content-typeimage/jpeg으로 지정해야한다고 생각합니다. 나는 이것을 S3 버킷에서 테스트했고, 이것에 의해 유도 된 '문제'가 application/octet-stream 인 것을 수정했습니다.

boto로 대량 작업을 수행하는 방법을 모르지만 this answer은 단일 개체에서 수행하는 방법을 보여줍니다. content-type 메타 데이터를 image/jpeg으로 변경하기 만하면됩니다.

0

당신은

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()