0

お客様のファイルを保存するためのファイル ストレージ アカウントがあります。しかし、ファイルは頻繁にクラッシュします。内容が「\0\0\0\0\0\0」のような空文字列に置き換えられたようです。

通常、破損したファイルは数日後 (または数か月後) に発見されます。

cloudFile.DownloadText returns string like "\0\0\0\0\0\0".

http://www.jssor.com/jssordev/problems*にあるサンプル ファイル「100days.slider」を次に示します。

次の 3 つの方法でファイルを azure ファイル ストレージに保存します。

  1. テキストをアップロードcloudFile.UploadText(content, Encoding.UTF8);
  2. 別のクラウド ファイルからアップロードするdstCloudFile.UploadFromStream(srcCloudFile.OpenRead());
  3. ユーザー投稿ファイルからアップロードcloudFile.UploadFromStream(httpPostedFile.InputStream);

何が起こっているか知っている人はいますか?

http://www.jssor.com/danishrabbani*で「full-width-slider.slider」を確認してください* これは、今日 (2016-10-24) に新しく破損したファイルです。

ユーザーは次の 2 つの手順を実行し、2 番目の手順で問題が見つかりました。

  1. [OK] ユーザーがhttp://www.jssor.com/danishrabbani/full-width-slider.slider/=editでファイルを編集しました。これは、ファイルを正しく読み取ったことを意味します。

  2. [問題] その後、ユーザーは前のページからhttp://www.jssor.com/danishrabbani/full-width-slider.slider/=previewに移動します。

両方のステップで同じファイルが読み取られるため、問題は 2 回目の読み取りが原因である可能性があります。ユーザーが手順 1 と手順 2 の間にデータを保存したと仮定すると、問題の原因はcloudFile.UploadText(content, Encoding.UTF8);.

編集 2016-10-26

今日の新しい空のファイル 'different-size-photo-slider-with-text.slider' はこちらにあります http://www.jssor.com/mfleury*

UploadTextとの両方の方法でファイルのアップロードを調査しましたがUploadFromStream、例外は発生しませんでした。問題は、Azure ファイル ストレージ サーバー側またはファイル ストレージ SDK ライブラリにあると思います。

編集 2016-10-27

今日の新しい空ファイル「different-size-photo-slider.slider」はこちらhttp://www.jssor.com/zubairqd*

編集 2016-11-08

例外は発生せず、ファイルのアップロードは常に成功しました。

ユーザーは通常、最初にデモのコピーを保存します。dstCloudFile.UploadFromStream(srcCloudFile.OpenRead());

その後、ユーザーはスライダー メーカーでファイルを編集し、ファイルを保存します。 cloudFile.UploadText(content, Encoding.UTF8);

破損したファイルの読み取りを追跡しました。ほとんどの場合、X64 または WOW64 システムの firefox (バージョン 49) で発生します。したがって、問題は によって引き起こされる可能性がありますcloudFile.UploadText(content, Encoding.UTF8);

また、約 1 年前に私の win7 (x86) システムで発生しました。その時点では lzw 圧縮はありません。

スライダー メーカーからファイルを保存するには、lzw 圧縮データをサーバーに送信し、解凍しcloudFile.UploadTextてからファイル ストレージに格納します。最初の 2 文字が「\0\0」であるかどうかを確認しましたが、そのようなテキストは見つかりませんでした。

4

0 に答える 0