質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

1回答

1601閲覧

notesbitmapをC#で画像として保存

tooltest

総合スコア12

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2019/06/04 10:15

編集2019/06/05 00:56

前提・実現したいこと

現在、指定したNotesDBの文書から画像を取得してローカルの保存するツールを作成しています。 文書ごとにDXLを取得してXMLNodeに対して処理を行っています。 画像がGIF,JPG,PNGの時は問題なく動作するのですがnotesbitmapの場合はエラーが出ています。

発生している問題・エラーメッセージ

例外:使用されたパラメータが有効ではありません。 場所 System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement, Boolean validateImageData) 場所 System.Drawing.Image.FromStream(Stream stream) 場所 NotesConvert.CreateImage.makeImage(Byte[] Bytes) 場所 NotesConvert.CreateImage.getImage(string base64str, string path) 場所 C:\[ファイルパス]\NotesConvert\CreateImage.cs:行 446

該当のソースコード

C#

1 private void getImage(string base64str, string path){ 2 byte[] bytes = Convert.FromBase64String(base64str); 3 Image img = makeImage(bytes); 4 img.Save(path); 5 } 6 7 private Image makeImage(byte[] Bytes){ 8 MemoryStream ms = new MemoryStream(Bytes); 9 Image img = Image.FromStream(ms); 10 return img; 11 }

試したこと

自分で調べてみたところ以下のページが引っ掛かりました。
https://www.agecom.com.au/support/agecomkb.nsf/0/58cbf10f0ab723c9ca25803e006c7de8
$FILEに画像のデータがあるとのことでしたので該当のnotesbitmapの時はfiledataの値を渡すように変更したのですが、変わらず同じエラーが出ています。

<attachmentref name="test.xls" displayname="test.xls"> <picture height="48px" width="239px"> <notesbitmap>xP8gAAEAAQAAAAgAAAAAAAAAAAAAAAAAU1RHMDMwMzWVACYAAAAAAAAAAAAAAAAAAAAAAAAA7wAwAAAAAAAAAAAAAAAAAA==</notesbitmap> </picture> </attachmentref> <item name="$FILE" summary="true" sign="true" seal="true"> <object> <file hosttype="cdstorage" compression="none" flags="storedindoc" encoding="none" name="STG03035" size="3078"> <created> <datetime /> </created> <modified> <datetime /> </modified> <filedata> AQACDAEAmQAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAJUAJgAAAAAAAAAAAAAAAAAAAAAAAADvADAACAABAAgAAgAFABMAlgAQBgAAAAAAAAAAAAAoAP4FQA0AxgBAAgHCA0ANAMcAQA0AxgABA0ACAAIDAUANAMYAQA0AxgABA0ACAMIDAQFADQDFAEAMAMcAQAICyAAEAwIDAUANAMQAQAwAxwBAAgPFAsMABQMAAgMBQA0AwwBADADHAAIDBMwAAgMEyAABA8IAAwIDAUANAMIAQAwAxwAHBAMABAMEA8MABgMEAwAEA8gAAQPDAAMCAwFADQABAEAMAMcAEAMEAAMEAwQDAAMEAwQAAwTIAgEDxwFADQBADADHABEEAwAEAAQDBAMEAwQDAAQDAsQAAQLEAAECwwACAgFADQBADADHAAIDBMIACAQABAMEAwQDwgADAwQCxAABAsQAAQLDAAICAUANAEAMAMcAAgQDwwAGBAAEAwQDwwACBAPLAsMAAgIBQA0AQAwAxwACAwTCAA0EAwQABAMEAwQAAwQCxAABAsQAAQLDAAICAUANAEAMAMcAEQQDAAQDBAMEAAQDBAMABAMCxAABAsQAAQLDAAICAUANAEAMAMcAEAMEAAMEAwQDBAAEAwQAAwTLAsMAAgIBQA0AQAwAxwANBAMABAMEAwQDBAAEA8IEAgMCxAABAsQAAQLDAAICAUANAEAMAMcAAgMExwAEAwQDBMIDAgQCxAABAsQAAQLDAAICAUANAEAMAMcAAgQDzAACBAPLAsMAAgIBQA0AQAwAxwBAAgIBAsQAAQLIAAICAUANAEAMAMcAQAIDAQLHAMMCwwACAgFADQBADQDGAAEDwwDHAgEAwwLCAMMCwwACAgFADQBADQDGAAEDwwABAsQAAQLCAMMCwgDDAsMAAgIBQA0AQA0AxgABA8MAAQLEAAECwgDIAsMAAgIBQA0AQA0AxgABA8MAxwIBAMMCwgDDAsMAAgIBQA0AQA0AxgABA8MAAQLEAAECwgDDAsIAwwLDAAICAUANAEANAMYAAQPDAAECxAABAsIAwwLCAMMCwwACAgFADQBADQDGAAEDwwBAAgQBAsIAAgIBQA0AQA0AxgABA0ACAMYAAgIBQA0AQA0AxgABA0ACAMYAAgIBQA0AQA0AxgABA0ACBMcCAQFADQBADQDGAEADBQEBQA0AQB0AxwBAHQDHAEAdAMcAQB0AxwBABADEAAEBwwABAcIAAwEAAcIAAQHLAAEBxQDNAQEAxQHDAMUBAgABQAgAxwABAcIAywHGAAEBwwABAcUAxgEBAMUBwgABAUADAMQAQAQAwwABAcUABwEAAQABAAHEAMYBwgDFAUACBsMAAQHDAAEBwwABAcIAAQFACADFAAEBwwABAcQAAQHEAAEBQAIHAQHCAAMBAAHFAAEBwwABAUADAMMAxAABAcQAAQHEAMgBwgDFAcUAAQHDAM0BxgACAQDCAcIAAQHEAMkBQAIIwwABAcoAwwHEAMMBxADDAUACCQEAxAHEAMMBwwDEAcUAAQHEAAEBxAABAcQAAQHGAAEBwwABAcUAxgHCAAMBAAHFAAEBzgABAcsAxAABAcQAAQFAAgrDAAEBQAILAQHGAAEBwgAFAQABAAHCAAEBxABABAzGAAEBwwABAcIAAQHDAAEBwgABAcMAAwEAAcMAAQHDAAEBwwADAQABxAABAcIAAQHDAAMBAAHEAAEBxAABAcQAywHDAMQBwwDEAcIAAQHCAAMBAAHDAAEBxgABAc4AAQHLAMQAAQHDAAMBAAFAAg3CAAEBwwABAcUAywHEAMIBxQDCAcUAAQHDAAEBwwBAAg4BAUACCwQAAQABxQDCAcUAwgHEAAMBAAHFAMIBxAADAQABxQDCAcQAAQHDAAEBxQABAcQAAQHEAAEBxgABAcMAAQHFAAEBwgAEAQABAMYBxAABAc0AAQHLAMUAAQHCAAMBAAHCAAMBAAHGAMIByQABAcoAAQHHAMYBAQDCAcIAwgHDAMkBwwABAcsAAQFAAgsEAAEAAcUAwgHFAMIBxAADAQABxQABAcUAAwEAAcUAwgHEAAEBwwABAcUAAQHEAAEBxAABAUACB8YBwwABAcIAAQHEAAEBxgABAcQAAwEAAcIAxAHFAJYAygMAAAAAAAAAAAAACAC4A8UAAQHCAAMBAAHCAAIBAMcBwgDDAcYAAQHGAMkBxgADAQABygABAcMAAQHDAAEBwwABAcIAxwHCAAEBxAABAcsAAQHCAAEBxQDCAcUAwgHDAMIBAgABxQABAcIAwwHCAAEBxQACAQDEAcQAAQHFAMsBxQABAcQAAQHIAEACD8YAAQHCAAEBwgADAQABxAABAcQAxQADAQABwwAFAQABAAHGAAEBxADCAcQAAQHKAAEByQDCAcUAAQHGAEACDAQAAQABxAABAcQAAQHKAAEBwwABAcUAwgHFAAIBAMMBBAABAAHFAAEBxQADAQABxQDCAcQAAQHDAAEBygABAckAAQHDAAEBygABAUACEMYAwgHDAAMBAAHJAMUAAwEAAcMABQEAAQABxgABAcYAAQHDAAEBxADNAcIAAwEAAcIAxwEBAM0BAgABwgDHAcIAAQHEAAEByQABAcQAAQHFAMIBxQBAAg/EAAMBAAHFAMIBxAABAcMAAQHKAAEBxwDNAQEAxgFAAhHEAMIBwwABAcIAxAHFAMUAAwEAAcMABQEAAQABxgDCAcUAAQHEAAEBxwAFAQABAAHFAAEBwgABAcQAAQHDAAEBwwABAccAAQHDAAEBxAADAQABxAABAcMAAQHJAAEBxQABAcUAwgHFAMIBxAADAQABxQDCAcQAAwEAAcUAwgHEAAEBxAABAckAAQHKAAEBxgABAcYAAQHFAAEBxgABAckAwgHDAAEBxgABAcQAxgABAcUAAQHCAAEBxgDCAcUAAQHEAAEBxQDCAcIAAQHCAMIBxgABAcQAAQHDAAEBwwABAccAAQHDAAEBwwABAcIAAQHEAAEBwwABAcgAAQHHAAEBwwABAcIAAQHDAAMBAAHDAAEBwwABAcMAAwEAAcQAAQHCAAEBwwADAQABxAABAcQAAQHJAAEBywABAcQAAQHHAMMBwwABAcYAAQHIAAEBwgABAcIAAwEAAcQAAQHEAMYAAQHFAAEBwgDHAcIAxQHGAAEBwgDCAcQAAQHEAMIBxAABAcMAAQHEAAEBwwABAccAAQHDAAEBwgABAcMAAQHEAAEBwgABAckAxgHDAMMBxADDAUACCQEAxAHEAMMBwwDEAcYAAQHIAAEBzADEAcUAwwHGAAEBxQABAcUAAQHCAAEBxAADAQABwgDEAcUAQAQAQAILxgDCAcIAAQHDAMIBxAABAcUAwwHDAAEBygDCAQIAAUAIAEADBkACEsUAwgHEAAEBQAMAxABADADFAMQBQBAAxgCXABUAAAD///8AAADAwMCAgIAAgAAAmADOAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwOSAAAAAAAAALwAAAD+/wAAAwQDBAMEAwQABQAFZgkAAAEAAAABAAAABAMEAwQDBANOAAAAAAAAAAAAAAAAAAAAAgICAgICAgIPAFtOT1RFU11FRElUSU1QAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEdMB4gt3jDY4/1iZYkY7RmAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAACAgICAAAAAAEAAAAAAAAA2OkHAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEBAQFmCQAAAQAAAAEAAAAEAwQDAQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAABPVEVTXUVESVRJTVABAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAA </filedata> </file> </object> </item>

補足情報(FW/ツールのバージョンなど)

.NET 3.5
VisualStudio 2015

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

例外のスタックトレースがないので、どこでエラーになっているのかわからないので追記してほしいですが…。

notesbitmapって何なのか知らないのでググってみたらコレですかね?

「独自形式の IBM Notes ビットマップイメージ」って書いてありますが、Base64の中身は通常のビットマップイメージと同じなんでしょうか?
そうでないなら、.NETの標準コンポーネントではバイナリとしてそのまま保存するぐらいしかできない気がしますが。

投稿2019/06/04 18:37

gentaro

総合スコア8949

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tooltest

2019/06/05 00:57

スタックトレースを追加しました。
gentaro

2019/06/05 17:53

他の画像で上手くいっている以上、バイナリとして読み出すところまでは問題ないのでしょうから、やはり単純にImageクラスで扱えない形式なんじゃないか、と思いますが。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問