2010-09-12 155 views
4

我正在構建完全是Silverlight的應用程序。它在Windows Azure上託管。我怎樣才能做文件上傳?如何在Azure託管的Silverlight中進行文件上載?

有很多SL文件上傳器,例如one,它們不適合我,因爲它們是獨立的SL控制 - 它們不能嵌入到我的應用程序中。

我看到幾個SL文件上傳examples似乎直截了當,但我必須做一些不同的Azure比普通的ASP應用程序?

謝謝。

回答

1

除了您可能需要做的WCF調整(記錄here)之外,您需要考慮將文件存儲在服務器上的位置。您不能只寫入本地驅動器。好吧,你可以但本地存儲不保證附加。相反,您需要考慮將上傳內容存儲在Azure Blob中,這被認爲是Durable Storage(它備份到多個位置)。

如果您直接從Silverlight客戶端上載到Azure blob,則需要連接到Azure存儲API。您需要小心將密鑰嵌入到Silverlight應用程序中,建議的指導是使用共享訪問簽名 - 有關更多信息,請參閱Steve Marx's post

您也可以繼續使用WCF服務,然後讓該服務方法將您的上傳存儲到blob。這使您能夠保持Silverlight應用程序的上傳邏輯完好無損,並且還可以依靠您的服務層來跟蹤對上傳文件的訪問。