- PR -

SQLServerのImage型に画像を登録したい

投稿者投稿内容
がるがる
ぬし
会議室デビュー日: 2002/04/12
投稿数: 873
投稿日時: 2003-12-03 19:10
ども。がると申します。
ちょいと余談なので軽く聞き流していただけると。

バイナリデータは大抵どこでも苦労します(^^;
私がよくやるのは
・データをBase64でエンコード
っていう手段です。これだと確実に文字列になるので。

データサイズが4/3倍になりますが、問題なければこれもまた
一つの方法、ってことで(^^;
sato_tti
会議室デビュー日: 2003/12/03
投稿数: 12
投稿日時: 2003-12-03 19:59
>聖人@SKB様
ありがとうございます。
検索してみましたが、似たような案件はなかったので、
書き込みをしてみようと思います。

>がるがる様
すみません、その方法を教えていただけますか?
Base64というのを使うとどうやって登録することができるのでしょうか?
本当は、DBにはPathだけ入れて画像は外に置いておきたいと
考えていたのですが、ネットワークの関係上それが困難ではないかという
結論に達しつつあり、DBに入れるしかない!ってなってしまいました。
SQLServerも使ったことがなく、困惑してます。
教えてくださいm(_ _)m
がるがる
ぬし
会議室デビュー日: 2002/04/12
投稿数: 873
投稿日時: 2003-12-05 17:21
ども。がるです。
引用:

sato_ttiさんの書き込み (2003-12-03 19:59) より:
>がるがる様
すみません、その方法を教えていただけますか?
Base64というのを使うとどうやって登録することができるのでしょうか?


んと、まずはBase64を、ネットで調べてください。
すごく簡単に要約すると、(バイナリ)データを「64種類のプリンタブルな文字」
に変換する手法です。
具体的には
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
の64文字。これに加えて、必要に応じて=が使われます。

つまり、Base64でエンコードすると、あらゆるデータ(画像などのバイナリ
を含むデータも)が「文字列で」表現できます。
そうすると、単純にchar型の配列に、サイズさえ問題なければ、INSERTする
ことが出来ます。

Base64の細かい仕様はネット上にあちこち乗ってると思いますので、そちらで
調べてみてください。
もし「ど〜〜〜しても」わからないときはまた質問していただければ。
…ただ、ここの板はそんなにしょっちゅう見ていないので、よければ
プライベートメッセージなど添えていただけると気づくと思います(^^;

スキルアップ/キャリアアップ(JOB@IT)