文字化け
一括ダウンロードみたいなのをしたくなったので、Webアプリ側でZip圧縮したくなった。割と最近の.Netには標準でCompression名前空間にZipまわりのものがあるので使ってみる。以下ソース。
using System.IO.Compression; using (var z = ZipFile.Open(@"C:\Test\hoge.zip", ZipArchiveMode.Update)) { z.CreateEntryFromFile(@"C:\Source\fuga.txt", @"fuga.txt",CompressionLevel.Optimal); z.CreateEntryFromFile(@"C:\Source\moe.txt", @"moe.txt", CompressionLevel.Optimal); }
解凍後にフォルダ階層もつけておきたい場合は以下の感じ
using System.IO.Compression; using (var z = ZipFile.Open(@"C:\Test\hoge.zip", ZipArchiveMode.Update)) { z.CreateEntryFromFile(@"C:\Source\fuga.txt", @"folder1\fuga.txt",CompressionLevel.Optimal); z.CreateEntryFromFile(@"C:\Source\moe.txt", @"folder2\moe.txt", CompressionLevel.Optimal); }
で、これだと日本語のファイル名が文字化けする。なので文字コード指定する。
using System.IO.Compression; Encoding sjisEnc = Encoding.GetEncoding("Shift_JIS"); using (var z = ZipFile.Open(@"C:\Test\hoge.zip", ZipArchiveMode.Update, sjisEnc)) { z.CreateEntryFromFile(@"C:\Source\fuga.txt", @"folder1\fuga.txt",CompressionLevel.Optimal); z.CreateEntryFromFile(@"C:\Source\moe.txt", @"folder2\moe.txt", CompressionLevel.Optimal); }
あーあと、ZipFileとかのクラスを使う場合は、「System.IO.Compression」と「System.IO.Compression.FileSystem」を参照に追加しておかないとダメみたいよ。
人気記事
最新記事
アーカイブ
カテゴリー
タグクラウド
- .net
- .netMVC
- AlmaLinux
- Apache
- AWS
- bitnami
- BulkCopy
- C#
- CentOS
- centos
- CentOS7
- CentOS8
- CLI3
- ClientVPN
- cookie
- CSS
- D3
- d3
- Django
- DNS
- docker
- docker-compose
- EntityFramework
- file
- GDI+
- Git
- HTML5
- IIS
- image
- inspect
- install
- IVS
- javascript
- JavaScript
- Jest
- JMeter
- JSON
- ldap
- Linux
- linux
- Log
- MariaDB
- MeCab
- MongoDB
- MVC
- mvc
- node.js
- npm
- nuxt
- OpenVPN
- POST
- Postgre
- proxy
- puppeteer
- Python
- python
- R
- Redis
- Redmine
- redmine
- Ruby
- SQLServer
- svg
- this
- Unicode
- UnitTest
- VirtualBox
- Visual
- VisualStudio
- VPN
- VSCode
- vscode
- Vue
- windows
- Windows
- Windows8.1
- エクセル
- エラー
- オブジェクト
- キャッシュバスティング
- コマンド
- コンソール
- サロゲート
- ストアド
- ソート
- トランザクション
- プロキシ
- プログラム
- ラムダ式
- ロードバランサ
- ワードクラウド
- 単体テスト
- 変換
- 外字
- 文字コード
- 日本語化
- 正規表現
- 画像
- 辞書
- 配列
問合せ