次のコードを使用して、GAEブロブストアに保存されているJPEGファイルをバイト配列に読み戻そうとしています。
info,_ := blobstore.Stat(context,appengine.BlobKey(request.FormValue("blobkey")))
image := make([]byte,info.Size)
reader := blobstore.NewReader(context,appengine.BlobKey(request.FormValue("blobkey")))
n,nerr := reader.Read(image)
画像は正しく保存されます。つまり、blobstore.Send(...)を使用して提供できます。
上記のコードは(blobデータを読み戻すという点で)機能しますが、0x0aバイトを0x0d 0x0aペアに変換します(つまり、LFをCR LFに変換します)。
Goでこの動作を回避する方法はありますか(0x0d0aを0x0aに戻すためのフィルターを作成せずに)?
編集:
問題はBlobstore.Readerにあるのではなく、開発アプリサーバーのmail.pyの添付ファイルのエンコードにあることがわかりました。