質問: mhtmlファイルから画像を(Windowsバッチか、JavaScriptか、PHPで)抽出したいのですが、 mhtmlの仕様としては、base64でデータ化した画像をファイル内に埋め込んでいるだけですか? 単一のmhtmlファイルに表示されている複数画像を一括で抽出するためには、mhtmlファイルに対してループ内でbase64デコード後ファイル出力処理するのですか?
回答: **mhtmlの仕様としては、base64でデータ化した画像をファイル内に埋め込んでいるだけですか?** そのようですね。 MHTML - Wikipedia > > MHTMLはMIMEのマルチパートを用いることで、元のHTMLと他のリソースを纏め、一通の電子メールで完全なHTMLマルチメディア文書を転送できるようにしたフォーマットである。 > > MIMEのフォーマットに則っているため、US-ASCII以外のテキストデータや画像などのバイナリデータはQuoted-printableかBase64でエンコードする。 > > > (Windowsバッチか、JavaScriptか、PHPで)という要望には対応できるか不明ですが、この辺の記事で同様の話題を扱っているようです。 Extracting Content from MHT Document 回答でC#のMIMEパーサーライブラリが承認されています。 smithimage/MIMER How can you programmatically (or with a tool) convert .MHT mhtml files to regular HTML and CSS files? 承認された回答はIEでhtmlにセーブし直すとそれぞれの分かれたファイルになるというものです。テキスト以外はBase64でセーブされるようです。 承認回答 WinAppDriverとかで出来るようにしてみるとか。 ブラウザ操作は Selenium? いえ WinAppDriver でも ―自動UIテストで遊ぼう:Qiita に「いいね」がついてたら [C#] 自動UIテストで遊ぼう:生まれ変わったエッヂのはるかさんがクリスマスイブの予定を読み上げる(WinAppDriver でできること/できないこと) 他にもツールがあるようです。 Modified/MHTifier mht2htm .NETのSystem.Net.Mimeを使えば出来るという回答 こちらはPowerShellで作って送信する方、作れるなら分解も出来るのでは? PowerShellでマルチパートメールを送信するサンプル 他にこんなツールも。 Convert Mht files(Mime Html, Web Archieve) to html files この2つはPHPのようです。完成しているのか不明ですが。 dzcpy/mht2html gentlyxu/mht2html