リモート サーバーから圧縮されたフォルダーをダウンロードし、フォルダー内のファイル全体を解凍して、ブラウザー アプリケーションのシルバー ライト 3 または 4 から分離されたストレージ スペースに保存するにはどうすればよいですか。任意の提案をお願いします
4 に答える
Webclient クラスの他のファイルと同様に zip ファイルをダウンロードできます。必要に応じてコンテンツをダウンロードするための msdn ドキュメントの詳細と例を参照してください。zip アーカイブから特定のファイルをダウンロードして取得する方法についても説明しています。
ただし、ファイルを一覧表示する場合は、このブログ投稿を確認してください。実際には試していませんが、zip アーカイブ内のすべてのファイルを取得する方法を示しています。
編集:いくつかのアイデアを提供するこのディスカッションも見つけました。とりわけ、Silverlight 用のこのSmall unzip ユーティリティについて言及されています。これは、もう少し堅牢なようです。
次に、IsolatedStorageFileクラスを使用してファイルを保存します。
幸運を!オラ
(解凍) には、オープン ソースのDotNetZip ライブラリを使用することを強くお勧めします。DotNetZip は Ms-PL の下でライセンスされており、非常に使いやすいです。
たとえば、圧縮も簡単です。
using (ZipFile zip = new ZipFile())
{
zip.AddEntry("MyFileName.png", null, pngStream);
// Save to stream from SaveFileDialog
zip.Save(stream);
}
Silverlight SharpZipLibは、Silverlight 3/4 および Phone7 への完全なポートであり、AES 暗号化が少ないSharpZipLibです。
すべての Silverlight 圧縮で見られる顕著な制限は、エントリ メタの UTF8 エンコーディングのみがサポートされていることです。
http または frp ストリームを使用してファイルを取得し、GZipStream (.NET クラス) を使用してストリーム/ファイルを解凍できます。
GzipStream: http://msdn.microsoft.com/en-us/library/system.io.compression.gzipstream.aspx
乾杯 - ジョッケ