แตกไฟล์และอัปโหลดเนื้อหาไปยัง Blob Storage โดยใช้ Azure Web Role

ขณะนี้ฉันมีบทบาทเว็บที่แสดงหน้าเว็บ หน้าเว็บอนุญาตให้ผู้ใช้เลือกไฟล์จากคอมพิวเตอร์ของพวกเขา บทบาทเว็บจากนั้นจะอัปโหลดไฟล์ไปยัง Azure Blob Storage บางส่วน

อย่างไรก็ตาม ไฟล์ที่ผู้ใช้มักจะอัปโหลดเป็นไฟล์ zip ดังนั้นฉันจึงต้องการคลายซิปไฟล์และแตกเนื้อหา จากนั้นอัปโหลดเนื้อหาไปยัง Azure Blob Storage

ฉันพยายามทำสิ่งนี้โดยใช้ตัวอย่าง SharpZipLib ที่ฉันพบ ที่นี่

http://blog.logiclabz.com/c/unzip-files-in-net-c-using-sharpziplib-open-source-library.aspx

ฉันได้เพิ่มการอ้างอิงไปยังบทบาทเว็บของฉันสำหรับไฟล์ ICSharpCode.SharpZipLib.dll และ ZipOperations.dll แต่ฉันยังคงได้รับข้อผิดพลาดต่อไปนี้ ป้อนคำอธิบายรูปภาพที่นี่

อีกสิ่งหนึ่งที่ฉันสับสนคือเมื่อฉันเรียก UnZipFile(...); ไดเร็กทอรีของไฟล์ที่ฉันกำลังอัปโหลดคืออะไร จะเป็น ID ของแบบฟอร์มที่เลือกไฟล์นั้นหรือไม่

ขอบคุณล่วงหน้านะซามี


person Sami    schedule 05.03.2012    source แหล่งที่มา


คำตอบ (1)


ควรอัปโหลดไฟล์ ZIP ไปยังดิสก์ในเครื่องบทบาทเว็บของคุณก่อน สมมติว่าคุณบันทึกไว้ในทรัพยากรในเครื่อง จากนั้นคุณสามารถเรียกใช้ SharpZip เพื่อแยกเนื้อหาไปยังทรัพยากรภายในเครื่องอื่นๆ จากนั้นจึงอัปโหลดไฟล์เนื้อหาไปยัง BLOB ในที่สุด

เกี่ยวกับทรัพยากรในเครื่องของ windows azure โปรดดูที่ http://msdn.microsoft.com/en-us/library/windowsazure/ee758708.aspx

เกี่ยวกับข้อผิดพลาดของคุณ ดูเหมือนว่าคุณไม่ได้เพิ่มคำสั่ง "using" ที่จำเป็นที่ตอนต้นของโค้ด ตัวอย่างเช่น คุณต้อง "ใช้ System.IO" จากนั้นคุณสามารถใช้ไฟล์ ไดเร็กทอรี ฯลฯ ในโค้ดของคุณได้

person Shaun Xu    schedule 05.03.2012
comment
ขอขอบคุณสำหรับการตอบกลับของคุณ ฉันสามารถทำให้โค้ดทำงานได้ และตอนนี้ฉันสามารถอัปโหลดไฟล์ zip ไปยังที่จัดเก็บในตัวเครื่องได้ เนื้อหาของไฟล์ zip จะถูกแยกไปยังที่จัดเก็บในตัวเครื่อง และไฟล์ zip จะถูกลบออก ฉันจะ ขอขอบคุณหากคุณสามารถช่วยฉันอัปโหลดไฟล์หลายไฟล์จากที่จัดเก็บในตัวเครื่องไปยังที่เก็บข้อมูลหยด - person Sami; 05.03.2012
comment
ดูคำตอบของฉัน stackoverflow.com/questions/9560982/ - person Shaun Xu; 05.03.2012