我正在构建完全是Silverlight的应用程序。它在Windows Azure上托管。我怎样才能做文件上传?如何在Azure托管的Silverlight中进行文件上载?
有很多SL文件上传器,例如one,它们不适合我,因为它们是独立的SL控制 - 它们不能嵌入到我的应用程序中。
我看到几个SL文件上传examples似乎直截了当,但我必须做一些不同的Azure比普通的ASP应用程序?
谢谢。
我正在构建完全是Silverlight的应用程序。它在Windows Azure上托管。我怎样才能做文件上传?如何在Azure托管的Silverlight中进行文件上载?
有很多SL文件上传器,例如one,它们不适合我,因为它们是独立的SL控制 - 它们不能嵌入到我的应用程序中。
我看到几个SL文件上传examples似乎直截了当,但我必须做一些不同的Azure比普通的ASP应用程序?
谢谢。
除了您可能需要做的WCF调整(记录here)之外,您需要考虑将文件存储在服务器上的位置。您不能只写入本地驱动器。好吧,你可以但本地存储不保证附加。相反,您需要考虑将上传内容存储在Azure Blob中,这被认为是Durable Storage(它备份到多个位置)。
如果您直接从Silverlight客户端上载到Azure blob,则需要连接到Azure存储API。您需要小心将密钥嵌入到Silverlight应用程序中,建议的指导是使用共享访问签名 - 有关更多信息,请参阅Steve Marx's post。
您也可以继续使用WCF服务,然后让该服务方法将您的上传存储到blob。这使您能够保持Silverlight应用程序的上传逻辑完好无损,并且还可以依靠您的服务层来跟踪对上传文件的访问。
您可以使用REST直接上传到Azure。查看我的示例,并行性,reties和取消启用:Silverlight based parallel upload control