0

ユーザーがアップロードするファイルのパスを取得しようとしていますが、パスは例である必要があるため、取得するパスは間違っています

 "C:\\Users\\Tranga.Patel\\Downloads\template.xlsx"

しかし、私のプログラムでは、

 "c:\\windows\\system32\\inetsrv\\Template Final.xlsx" 

私が使用しているコードは

fileName = Path.GetFullPath(fileUpload.PostedFile.FileName);

私も使ってみました

 fileName = Server.MapPath(Path.GetFullPath(fileUpload.PostedFile.FileName));

これにより、プロジェクトのディレクトリが提供されます

4

2 に答える 2

2

次を使用してみてください:

var path=Server.MapPath('Uploads folder path from root directory');

これにより、Webサイトのルートディレクトリからのフォルダパスがわかります。

編集:-ファイルがサイトのディレクトリツリーにない場合、ユーザーがファイルを保存しているパスを知っている必要があります。

于 2012-11-06T10:19:55.703 に答える
1

ファイルアップロードコントロールを使用していますか?もしそうなら、あなたは彼らがアップロードしたいドキュメントを選択し、それからそれを保存したいパスを指定する必要があります。例えば

 // Get File Name
 documentName = Path.GetFileName(fuContentDocuments.FileName);

 // Specify your server path
 string serverPath = Server.MapPath("../../" + WebConfigurationManager.AppSettings["FilePath"].ToString());

// The final path
string fileLocation = (serverPath + "\\" + userId + "\\" + documentName);

// if folder doesn't exist then create it
if (!Directory.Exists(serverPath + "\\" + userId + "\\"))
{
    // create the folder for the file
    Directory.CreateDirectory(serverPath + "\\" + userId + "\\");
}

// Upload the file
fuContentDocuments.SaveAs(fileLocation);

注:UserIdは、ユーザーがログインするuserIdにすぎません。このようにして、他のユーザーはそれを上書きしません。

于 2012-11-06T11:26:07.323 に答える