私はGoで初めて遊んでいますが、インターネットから画像を取得して切り取る(サイズを変更する)ツールを作っていますが、最初のステップで固まっています。GoでのHTTP要求の本文から画像を読み取る
画像をリクエストして、その種類とサイズを取得できます(Googleロゴを使用します)。
確かに、Content-LengthとContent-Typeを設定してバイトスライスを書き戻していますが、どこかで間違ったイメージになってしまいました。それはクロム12.0.742.112(90304)の上にレンダリングされた最終画像をどのように見えるかを参照してください:
また、私はダウンロードしたファイルをチェックし、それは、画像をPNG 7007バイトです。
GET /カットHTTP/1.1
のUser-Agent:カール/ 7.22.0(i486の-pc-linux-gnuのよう)のlibcurl /私たちは要求を見ればそれが正常に動作する必要があります7.22.0 OpenSSLの/ 1.0.0eにzlib/1.2.3.4 libidn/1.23 libssh2の/ 1.2.8はlibrtmp/2.3
ホスト:127.0.0.1:8080
受け入れ:/HTTP/1.1 200 OK
を コンテンツの長さ:7007
のContent-Type:画像/ PNG
日:火、2011年12月27日午後七時51分53秒GMT[PNGデータ]
あなたは私がここで間違ってやってるどう思いますか?
免責事項:私は自分のかゆみを掻いているので、間違ったツールを使用している可能性があります:)とにかく、私はRubyで実装できますが、前に試してみてください。
更新:まだ痒みを掻いていますが...これは良い側面のプロジェクトになると思いますので開けますhttps://github.com/imdario/go-lazor参考にならない場合、それを開発するために使用されます。彼らは私のためだった。
これを後で確認します。あなたが言ったことは正しいと思います(私はイメージの可能な0x0バイトではないと思いました)。ありがとう! –
io.Copyが期待どおりに動作しません。ヘッダーを書き込んだ後に要求が切り詰められ、エラーは検出されません。 とにかく、私はReadFullで解決しました。https://gist.github.com/1528886必要に応じて、私が使ったものを使ってあなたのソリューションを編集してください。あなたが正しい方法を指摘したので、私はあなたの答えを受け入れます。ありがとう! –
申し訳ありませんが、それが動作しない原因となるタイプミスがありました(reqとreqImgが混在しています)。私はコードを修正し、io.Copyで動作します。 –