YDiary

メモ的な

Amazonプライムフォトに任意のデータをアップロードする

先日,Amazonがプライム会員を対象に写真データを無制限に保存できるサービスを始めましたね.
なんでもRAWなども含めて再圧縮なしでいくらでも保存できるとのこと.
とするとJPEGなんかにファイルを埋め込めば好きなデータを保存できるのでは…という気がしてきます.
そんなことを思いつつ対応ファイル形式を眺めていたら…
f:id:YDKK:20160125110544p:plain
なんとBMPに対応しているではありませんか!
確かBMPはファイル構造が単純だった気がするので,任意のデータをBMPに変換することができればAmazonプライムフォトを容量無制限のクラウドストレージとして使えるような気がします.

というわけで早速試してみましょう.
WikipediaBMPのファイル構造を調べて…
f:id:YDKK:20160125111909p:plain
それをもとに適当にファイルをBMPに変換するコードを書いて,適当なファイルを放り投げてみると…
https://pbs.twimg.com/media/CZYo58gUAAII6WG.jpg:orig
出来ました!
19676×19675ピクセルで1.44GBという狂気のBMPファイルです.
ちゃんとWin10の標準ビューアで開けます.
https://pbs.twimg.com/media/CZYtYtvUEAAHtNd.jpg:orig
あとはアップロードするだけですが,ここで自分がAmazonプライム会員じゃないことに気が付きました.まぁ,せっかくなのでこれをいい機会にとAmazon Studentに登録.
さて,いざアップロード...
https://pbs.twimg.com/media/CZYvI3TUYAE17jq.jpg:orig
Amazon強い



https://pbs.twimg.com/media/CZYvVApUsAA3b0z.jpg:orig
やりました!ちゃんと画像として認識されています.その後試しに10GBぐらいのBMPもアップロードしてみましたが,同様に画像として認識されてます.どうやら画像として認識されるファイルサイズに上限はないみたいです.
あとはこの一連のBMP化→アップロード,ダウンロード→元ファイルに復元する処理を裏でやってくれるようなファイルシステムDokanあたりで作ればかなり面白そうな気がしたのですが,残念ながら日本のAmazon Cloud DriveAPIはまだ提供されてないそうです.

というわけで,とりあえず今回はここまで.


追記:

と言われたので一部表現を変更しました.内容はほぼ変わりません.