share facebook facebook twitter menu hatena pocket slack

2011.12.19 MON

S3にブラウザから直接アップロードするフォーム(HTML)をPHPで生成

鈴木 宏康

WRITTEN BY 鈴木 宏康

JAWS-UG宮崎第3回勉強会LT資料(Browser Uploads to S3 using HTML POST Forms)の記事で、S3にブラウザから直接アップロードする方法を紹介しましたが、そのときは、静的なHTMLフォームを前提として、Base64のpolicyやsignatureは別プログラム(Ruby)で作成していました。

今回は、そのHTMLフォームをPHPで生成し、有効期限やアップロードファイル名、リダイレクト先などを動的に変更できるようにしてみました。

コードは下記の通りです。



  
    
  
  
    
"/>

上記は、有効期限をHTMLフォームが作成されてから1分以内とし、アップロードファイル名やリダイレクトURLにid(ユーザーID等)が反映されるようにしています。

S3へのアップロードが成功すると、下記のURLにリダイレクトされ、リダイレクトURLに事前に付与しておいたパラメータ(id=00000000)も引き継がれていることがわかります。

http://www.suz-lab.com/index.html?id=00000000&bucket=www.suz-lab.com&key=00000000.txt&etag=%22…%22

さらに、HTMLフォームが生成された後、1分後にアップロードすると、下記のように、エラーになることが確認できました。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。