File.ReadAllText約UnauthorizedAccessExceptionを述べたように、次の条件のいずれかが原因で発生することができます
- または -
- この操作は、現在のプラットフォームでサポートされていません。
- または -
- または -
あなたはクーズーコンソールを活用して、ファイルやディレクトリの属性を確認するためにAttribコマンドを使用することができます。また、あなたは、ファイルの内容を表示するか、次のようにファイルリストテーブルから[編集]ボタンをクリックしTYPEコマンドを使用するように試みることができる:
また、私は、新しいWebアプリケーションを作成し、私のMVCを展開しましたApp_Data
フォルダの下にファイルを表示するためのアプリケーションでは、期待どおりに動作する可能性があります。itを参照してください。
UPDATE:
//method for getting files
public List<DownLoadFileInformation> GetFiles()
{
List<DownLoadFileInformation> lstFiles = new List<DownLoadFileInformation>();
DirectoryInfo dirInfo = new DirectoryInfo(HostingEnvironment.MapPath("~/App_Data"));
int i = 0;
foreach (var item in dirInfo.GetFiles())
{
lstFiles.Add(new DownLoadFileInformation()
{
FileId = i + 1,
FileName = item.Name,
FilePath = dirInfo.FullName + @"\" + item.Name
});
i = i + 1;
}
return lstFiles;
}
//action for downloading a file
public ActionResult Download(string FileID)
{
int CurrentFileID = Convert.ToInt32(FileID);
var filesCol = obj.GetFiles();
string fullFilePath = (from fls in filesCol
where fls.FileId == CurrentFileID
select fls.FilePath).First();
string contentType = MimeMapping.GetMimeMapping(fullFilePath);
return File(fullFilePath, contentType, new FileInfo(fullFilePath).Name);
}
アップデート2:
public ActionResult ViewOnline(string FileID)
{
int CurrentFileID = Convert.ToInt32(FileID);
var filesCol = obj.GetFiles();
string fullFilePath = (from fls in filesCol
where fls.FileId == CurrentFileID
select fls.FilePath).First();
string text = System.IO.File.ReadAllText(fullFilePath);
return Content(text);
}
MapPathの()のパスがあることは何を終わるのでしょうか? 'd:\ home \ site \ wwwroot'への完全な書き込みアクセス権があります。 (注意:あなたのウェブアプリケーションを削除しない限り、 'site'のストレージはAzure Storageのように耐久性があります)。 –
地図のパスは私に正しい位置を与えますが(少なくともKuduを見て)、無効なアクセスがあります –
あなたは完全なエラーを含む詳細とエラーを生成している呼び出しを含むあなたの質問を編集してください。 (私は 'ReadAllText()'を想定していますが、わかりません)。 –