- - PR -
bitmapが画像をつかんでしまう?
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-04-10 10:22
お世話になります。
ASP.NETで開発を行っています。 次のような機能を含んだページを作成したいと考えているのですが なかなかうまくいきません。 ・クライアントからサーバにファイルをアップロードそれを表示する ・サーバにアップロードする際には、前回にアップロードしたファイルを 削除後、新しいファイルをアップロードする 次のような場合にうまくいきません。 ・ページ表示後、続けてファイルをアップロード つまり、一度アップロードした後、アップロードしたファイルを 削除しようとする。 【エラー内容】 「プロセスはファイル "D:\upd_images\AAA.jpg" にアクセスできません。 このファイルは別のプロセスが使用中です。 」 【ソース】 LBL_gazou1.Text = fileinfo.Name bitmap = New Bitmap(strimagePATH & "\" & fileinfo.Name) インタプリタにて確認すると、 掲載したソースの2行目、bitmap=〜 以降に ファイルが削除、リネームなどできなくなります。 【解決法】 @bitmapがもしファイルをつかんでしまうのであれば、 それを放す方法、というのが1つ。 Aもう一つはbitmap自体を使用しない方法。 bitmapを使用している理由は、”画像ファイルの縦横のサイズ(ピクセル)を 取得したい”ということだけです。 (bitmap.Height、bitmap.widthを使用) ファイルサイズを取得できる方法が他にあるならば それでも解決できそうな気がします。 まずは@から調べてますが、なかなかうまくいきません。 どなたかご存知の方がおられましたら ご教授願えませんでしょうか? お手数ですがよろしくお願いいたします。 [ メッセージ編集済み 編集者: KOUJI 編集日時 2004-04-10 10:35 ] [ メッセージ編集済み 編集者: KOUJI 編集日時 2004-04-10 10:36 ] | ||||
|
投稿日時: 2004-04-10 10:56
諸農です。
試していませんが、
コンストラクタにStreamを引数にするバージョンがありますので、 Fileクラスで読み込んでからBitmapを生成後に、StreamをCloseすれば 解決できるかもしれないです。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||
|
投稿日時: 2004-04-10 11:05
Dispose()メソッド呼び出してみたらどうでしょう
| ||||
|
投稿日時: 2004-04-10 12:10
ご回答ありがとうございます。
いますぐ試してみます。 | ||||
|
投稿日時: 2004-04-10 13:09
お世話になっております。
bitmap.Dispose()を使用し、問題なく ファイルを削除することが確認できました。 最初は ヘルプを参照し、 bitmap.UnlockBits()を使用できるのかと思っていましたが 意味が違うようです(詳細は調査していませんが)。 ありがとうございました。 |
1