分類:[VB.NET/VB2005 以降]
2011/03/31(Thu) 16:28:40 編集(投稿者)
2011/03/31(Thu) 16:27:59 編集(投稿者)
2011/03/31(Thu) 16:27:56 編集(投稿者)
<pre><pre>お世話になっております
VB.NET 2003 + FrameWork1.1でWEBアプリケーションを作成しております。
複数件のデータを帳票に印字する際に画像も表示させようと思っています
基本的にキーデータに1枚ずつの画像が存在しており
5件のデータがあったら、5枚の異なる画像が存在しているようなイメージです。
画像データを内部変数に保存する必要があったため
System.IO.FileStreamを使用してByte配列に保持する事にしました。
ところが1件目は正常に取り込めるのですが、
2件目で「パス”○○○.jpg”へのアクセスが拒否されました」
と表示されて取り込めない状態になってしまいます。
○○○.jpgは2回目に取り込もうとしているファイル名で1回目ではありません
構文としては
---------------------------------------------------------------------------
dim fs as FileStream
fs = New FileStream(画像へのフルパス, FileMode.Open, FileAccess.Read) ←【エラーの発生場所】
Redim btBUF(fs.Length - 1)
dim readBytes as long = fs.Read(btBUF, 0, fs.Length)
fs.Close()
---------------------------------------------------------------------------
のように取得しております
色々と調べてみると、1回目でfs内に保存された情報が
Close時に破棄されておらず、残ったままになっているようでした
Closeしても破棄されないのは何かやり方が不味いのでしょうか?
Framework 1.1の為、Disposeもありません。
1回だけでなくループで複数回取得したいような場合に
何か良い方法をご存知でしたらお教え願います。