1

私のasp.net Webサイト内で、ファイルにアクセスしようとしています

 FileStream stream = File.Open("/App_Data/" + FileName, FileMode.Open, FileAccess.Read);

このコードで、Web サイト アプリ データ フォルダー内の xlsxfile を選択する必要があります。このコードは、常に次のようなディレクトリからパス全体を取得します

'c:\App_Data\w1.xlsx

このコードをルート URL に使用したくありません。Web サイト内のファイルを取得したいだけです。これを実現するためにコードを微調整するにはどうすればよいですか

4

3 に答える 3

4

Server.MapPath("~/App_Data/" + FileName)の代わりに使用"/App_Data/" + FileName

于 2013-07-29T05:33:14.703 に答える
3

これを試して:

File.Open(Server.MapPath("~") + FileName, FileMode.Open, FileAccess.Read);

この回答もチェックしてください。MapPathのかなり良い説明があります

Server.MapPath(".")、Server.MapPath("~")、Server.MapPath(@"\")、Server.MapPath("/")。違いはなんですか?

于 2013-07-29T05:32:53.440 に答える
2

使ってみて

Server.MapPath('~/App_Data/' + FileName)
于 2013-07-29T05:31:42.567 に答える