天蓝色的文件存储崩溃了。 cloudFile.DownloadText返回长空字符串,如“\ 0 \ 0 \ 0 \ 0 \ 0 \ 0”

时间:2016-10-21 04:44:40

标签: azure azure-storage azure-storage-files

我们有文件存储帐户来存储我们客户的文件。 但文件经常崩溃。似乎内容被替换为空字符串,如“\ 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. 上传
  4. 从用户发布的文件cloudFile.UploadFromStream(httpPostedFile.InputStream);
  5. 上传

    有谁知道发生了什么事?

    检查http://www.jssor.com/danishrabbani*处的'full-width-slider.slider' 今天这是一个新的损坏文件(2016-10-24)。

    用户经历了以下两个步骤,并在第二步找到了问题。

    1. [确定]用户在http://www.jssor.com/danishrabbani/full-width-slider.slider/=edit编辑了文件,这意味着它正确读取了文件。

    2. [问题]然后用户从上一页转到http://www.jssor.com/danishrabbani/full-width-slider.slider/=preview

    3. 两个步骤都读取相同的文件,因此问题可能是由第二次读取引起的。 假设用户在步骤1和步骤2之间保存了数据,那么问题应该由cloudFile.UploadText(content, Encoding.UTF8);引起。

      编辑2016-10-26

      今天在这里找到了新的空文件'different-size-photo-slider-with-text.slider'http://www.jssor.com/mfleury*

      我们调查了UploadTextUploadFromStream的文件上传方式,没有异常。我认为问题出在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);引起的。

      此外,它发生在我的win7(x86)系统大约1年前,当时没有lzw压缩。

      要从滑块制作器保存文件,它会将lzw压缩数据发送到我们的服务器,然后解压缩,然后cloudFile.UploadText到文件存储。我们检查了前两个字符是否为“\ 0 \ 0”,但我们没有找到任何类似的文字。

0 个答案:

没有答案