質問: input.read(buffer); } } } ``` GCSブラウザのアップロード状況(一番下のuploadfile.jpgがアップロードしたファイルです) ![GCSブラウザ画面スクリーンショット](https://i.stack.imgur.com/EgFjm.png) ファイルをクリックするとブラウザ上では左上に四角の枠みたいなのが表示されるだけです。 ![ブラウザスクリーンショット](https://i.stack.imgur.com/dcJU2.png) と表示されます。 画像のアップロードテストは curl [アプリケーションURL] -F file=@test.jpg としています。 GcsFileOptions.BuilderでmimeTypeを設定しないとタイプがbinary/octet-stremとなります。 アップロードされた添付画像のファイルはサイズやタイプは正常だと思うのですが、どうしてこのように表示されてしまうのでしょうか? アップロードするには何か権限が必要なのでしょうか? 公開するためのチェックボックスも消えてしまいます。 宜しくお願い致します。
回答: request.getInputStream()をそのまま書き込んでしまっているので、curlで投げたForm全体をファイルとして書き込んじゃってるんだと思います。 この質問とは関係ないですが、App EngineでGCS Client Library使うと、裏はURL Fetchしているので、FileをUploadしたいだけなら、Blobstore API使った方が無難ですね。 僕はSlim3使ってますが、 とか を参考にどうぞ。