การจัดเก็บเอกสาร Excel / Word ไฟล์ Windows Azure Blob Storage เสียหาย

เราได้เริ่มใช้ Azure blob storage api เพื่อจัดเก็บ blobs ที่อัปโหลดบนไซต์ของเรา รูปภาพทำงานได้ดี แต่เมื่อเราอัปโหลดเอกสาร word/excel และส่งคืน URL และลองดาวน์โหลดไฟล์จาก URL นั้นและเปิดมัน เราจะได้รับ เกิดข้อผิดพลาดใน Excel หรือ Word โดยพูดว่า:

"Excel ไม่สามารถเปิดไฟล์ "somefile.xlsx" ได้เนื่องจากรูปแบบหรือนามสกุลไฟล์ไม่ถูกต้อง ตรวจสอบให้แน่ใจว่าไฟล์ไม่เสียหายและนามสกุลไฟล์ตรงกับรูปแบบของไฟล์"

ฉันรู้ว่าฉันต้องพลาดบางสิ่งบางอย่างที่ชัดเจน แต่ไม่แน่ใจว่าอะไร ด้านล่างนี้คือโค้ดที่เราใช้:

  CloudBlobContainer container = GetCloudBlobContainer();

  Guid guid = Guid.NewGuid();
  string storeFilename = String.Concat(mediaType.ToString(), "/", guid, "_", filename);

  var blob = container.GetBlobReference(storeFilename);
  blob.Properties.ContentType = contentType;
  blob.UploadFromStream(stream);

  return blob.Uri.AbsolutePath;

เราจะส่งคืน URL และจัดเก็บสิ่งนั้นไว้กับไฟล์ที่อัปโหลด และใช้เป็นลิงก์ในการดาวน์โหลดไฟล์

ไฟล์ดาวน์โหลดไฟล์ได้ดี โดยมีขนาดเท่ากับไฟล์ที่อัปโหลดแต่เปิดไม่ได้

ความช่วยเหลือใด ๆ จะได้รับการชื่นชมอย่างมากเนื่องจากจะต้องเป็นสิ่งที่ชัดเจนมาก แต่ฉันกลัวว่ามันจะหลบเลี่ยงฉัน


person user351711    schedule 22.10.2012    source แหล่งที่มา


คำตอบ (1)


คุณใช้รหัสใดในการบันทึกเอกสารไปยัง Azure

ContentType ในการอัปโหลดและดาวน์โหลดมีมูลค่าเท่าใด

คุณกำลังเข้ารหัส UTF8 สตรีมการอัปโหลดหรือไม่

ดูที่ ตัวอย่างการอัปโหลดนี้ที่ตั้งค่าการเข้ารหัส ContentType และ UTF8 ก่อนการอัปโหลด

person halfbit    schedule 23.10.2012