お世話になります。
開発環境:
Windows 7
SQL Server 2008 R2 Developer Edition
Visual Studio 2010 (開発言語は ASP.net/コードビハインドはVB.net)
Windows Azure SDK v1.4
Windows Azure Tools for Microsoft Visual Studio 2010 1.3
.Net Framework 4
現在AzureのストレージサービスであるBlobに
ファイルをアップロード・ダウンロードするプログラムを作成中なのですが、
ファイルのダウンロードのやり方が分からず困っています。
Web上にあるいろんなサンプルプログラムを参考にしながら、
ExcelやPDF、テキストファイルなどのファイルを
アップロードさせてみるところまではたどり着きました。
今度はそのアップロードしたファイルをダウンロードさせようとして
悩んでいます…
以下の2つの方法を試しました。
1.CloudBlockBlobオブジェクトのDownloadToFileメソッドを使用して
ローカルの指定のフォルダにダウンロードさせる。
コードは
Dim connectionString = RoleEnvironment.GetConfigurationSettingValue("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString")
Dim account = CloudStorageAccount.Parse(connectionString)
Dim blobClient As CloudBlobClient = account.CreateCloudBlobClient()
Dim container As CloudBlobContainer = blobClient.GetContainerReference("test")
container.CreateIfNotExist()
Dim blob As CloudBlockBlob = container.GetBlockBlobReference(テキストボックスに直接入力したファイル名)
blob.DownloadToFile("C:\" + テキストボックスに直接入力したファイル名)
→開発環境ではOKですがAzure上ではエラーになります(当たり前ぽいですが…)
(開発環境でもダウンロードするかどうか問ういつものダイアログボックスは出現しませんでした)
2.何とかダウンロードできないかと、ContentTypeを指定して
System.Web.HttpContext.Current.Response.WriteFile(ファイルパスのURL)
を使用
→ダウンロードするかどうか問ういつものダイアログボックスは出現しましたが、
表示している画面のソース(HTML)がダウンロードされます
何か違う方法があるのかただやり方がわるいだけなのか、
言葉足らずで分かりにくいところもあるかと思いますが
どうかご教授ください。
よろしくお願いいたします。