- PR -

ネットワークにある圧縮ファイルを解凍したい

1
投稿者投稿内容
おか
常連さん
会議室デビュー日: 2003/01/31
投稿数: 25
投稿日時: 2004-07-15 22:41
ASP.NETにてネットワークにある圧縮ファイルを解凍しようと思い
以下のようなコードを作りました。
-------------------------------------------------------------
Dim fis As New java.io.FileInputStream(zip_file)
Dim bis As New java.io.BufferedInputStream(fis)
Dim zis As New java.util.zip.ZipInputStream(bis)
Dim buf(4096) As SByte
Dim len As Integer
Dim KeyName As String
Dim zent As New java.util.zip.ZipEntry(zip_file)

Try
Do
zent = zis.getNextEntry()
If zent Is Nothing Then Exit Do
KeyName = Path.GetDirectoryName(zip_file) + "\" + zent.getName
Dim fos As New java.io.FileOutputStream(KeyName)
Do
len = zis.read(buf, 0, buf.Length)
If len = -1 Then Exit Do
fos.write(buf, 0, len)
Loop
fos.close()
zis.closeEntry()
Loop
Catch ex As Exception
Return False
End Try
Return True
-------------------------------------------------------------------
これをASP.NETのwebformにボタンをつくりボタン押下時に上記処理を
行うように作成したのですが
Dim fis As New java.io.FileInputStream(zip_file)
ここでエラーがでます。エラーの原因としては zip_file を認識してくれない、
FileNotFound エラーになります。
(zip_fileには 「\\serever\zip\\testdata.zip」という文字列が入れています)
FileInputStreamはネットワーク上のファイルは認識できないことはわかったのですが
対処方法(FileInputStreamに変わるものなど)がわかりません。

ちなみに WindowsFormだとネットワーク上でも認識でき解凍できました。
同じようにWebFormでもできると思ったのですが・・・

よろしくお願いします。

開発環境は以下とおりです。
OS Win2000(SP4)
.Net2003
.Net FrameWork 1.1
参照設定 vjslib(1.0.5000.0)

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-07-16 08:34
引用:

おかさんの書き込み (2004-07-15 22:41) より:

Dim fis As New java.io.FileInputStream(zip_file)
ここでエラーがでます。エラーの原因としては zip_file を認識してくれない、
FileNotFound エラーになります。
(zip_fileには 「//serever/zip/testdata.zip」という文字列が入れています)
FileInputStreamはネットワーク上のファイルは認識できないことはわかったのですが
対処方法(FileInputStreamに変わるものなど)がわかりません。

ちなみに WindowsFormだとネットワーク上でも認識でき解凍できました。
同じようにWebFormでもできると思ったのですが・・・


 自PCからは「¥¥server」が認識できるけれど、サーバでは「¥¥server」が認識されない、とかのオチじゃないですよね?
(サーバのエクスプローラに「¥¥server」を指定すると、アクセスできますか?)
おか
常連さん
会議室デビュー日: 2003/01/31
投稿数: 25
投稿日時: 2004-07-16 09:57
引用:

Jittaさんの書き込み (2004-07-16 08:34) より:
引用:

おかさんの書き込み (2004-07-15 22:41) より:

Dim fis As New java.io.FileInputStream(zip_file)
ここでエラーがでます。エラーの原因としては zip_file を認識してくれない、
FileNotFound エラーになります。
(zip_fileには 「//serever/zip/testdata.zip」という文字列が入れています)
FileInputStreamはネットワーク上のファイルは認識できないことはわかったのですが
対処方法(FileInputStreamに変わるものなど)がわかりません。

ちなみに WindowsFormだとネットワーク上でも認識でき解凍できました。
同じようにWebFormでもできると思ったのですが・・・


 自PCからは「¥¥server」が認識できるけれど、サーバでは「¥¥server」が認識されない、とかのオチじゃないですよね?
(サーバのエクスプローラに「¥¥server」を指定すると、アクセスできますか?)



Jittaさん、ありがとうございます。
そうであればうれしいのですが・・・
アクセスできますね。ネットワークドライブを割り当てても
同じ結果でした。
べーちゃん
大ベテラン
会議室デビュー日: 2002/07/21
投稿数: 121
投稿日時: 2004-07-16 14:07
単純にASP.NETの実行ユーザーがネットワークに対して
アクセス権限をもたないということではないのですか。

Webアプリケーションからネットワークリソースへの
アクセスの場合、ASP.NETの実行ユーザの権限が
足りずに、アクセスが拒否されていることがありますけど。
おか
常連さん
会議室デビュー日: 2003/01/31
投稿数: 25
投稿日時: 2004-07-16 18:07
引用:

べーちゃんさんの書き込み (2004-07-16 14:07) より:
単純にASP.NETの実行ユーザーがネットワークに対して
アクセス権限をもたないということではないのですか。

Webアプリケーションからネットワークリソースへの
アクセスの場合、ASP.NETの実行ユーザの権限が
足りずに、アクセスが拒否されていることがありますけど。



おっしゃる通り権限の問題でした。
web.configに以下の行を追加するとアクセスできるようになりました。
<identity impersonate="true" userName=ユーザー名 password=パスワード/>
ありがとうございました
1

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