結論
write
じゃなくてwrite_all
を使え
rustのzipfileでファイルが欠損する
|
|
こんな感じのコードでJepgをZip圧縮していたら,Jpegファイルが欠損している.画像処理でまずったかと思ったら,zipfileの書き込みがおかしかった.
原因
そもそもwrite
はすべて書き込むことが保証されていないと
リファレンス
に書かれている.後からよく考えたら戻り値が書き込まれたバイト数となっている時点でおかしいと気づくべきだった.
write_all
はOkなら書き込みが完了していることが保証されている.