2010-09-12 156 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应用程序的上传逻辑完好无损,并且还可以依靠您的服务层来跟踪对上传文件的访问。