- PR -

外部ファイル読み込み

1
投稿者投稿内容
yoshika
常連さん
会議室デビュー日: 2005/10/31
投稿数: 28
投稿日時: 2005-10-31 10:53
はじめまして。お世話になります。
外部ファイルの読み込みについて教えてください。

exam.aspx にファイルを指定する項目を作成しました。
<INPUT id="filename" type="file" runat="server">

exam.aspx.vb で以下のように読み込んでいます。
Dim objFile As System.IO.StreamReader
objFile = New System.IO.StreamReader(filename.PostedFile.FileName, System.Text.Encoding.Default)

このように記述すると、ローカルでテストする場合、
同じローカルのパス上にあるファイルを正常に読み込むのですが
サーバにあるシステムにアクセスした場合、ファイルの読み込みができません。

サーバにあるシステムにローカルにあるファイルを読み込ませるには
どのように処理するのがよいのでしょうか?

教えてください。よろしくお願いします。
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2005-10-31 11:41
こんにちは。

StreamReaderのコンストラクタに指定するファイルパスはサーバ上のもの、
一方filename.PostedFile.FileNameはクライアント上のファイルパスです。

なので、仰る通りの動作になります。

サーバにあるシステムにローカルにあるファイルを読み込ませるには、
一度サーバ上に保存するか、ストリームから直接読み込みます。


コード:

Dim objFile As System.IO.StreamReader
Dim tempPath As String = "サーバ上の任意のファイルパス"
filename.PostedFile.SaveAs(tempPath)
objFile = New System.IO.StreamReader(tempPath, System.Text.Encoding.Default)



コード:

Dim objFile As System.IO.StreamReader
objFile = New System.IO.StreamReader(filename.PostedFile.InputStream, _
                                     System.Text.Encoding.Default)

yoshika
常連さん
会議室デビュー日: 2005/10/31
投稿数: 28
投稿日時: 2005-10-31 13:28
ぼのぼのさんありがとうございます。

ローカルファイルをサーバに移す必要があるのですね。
教えていただいたコードで正常に処理できました。

ありがとうございました。
yoshika
常連さん
会議室デビュー日: 2005/10/31
投稿数: 28
投稿日時: 2005-10-31 13:29
ぼのぼのさんありがとうございます。

ローカルファイルをサーバに移す必要があるのですね。
教えていただいたコードで正常に処理できました。

ありがとうございました。
1

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