3

などの物理パスにファイルをアップロードしたいE:\Project\Folders

ネットで検索して以下のコードを取得しました。

//check to make sure a file is selected
if (FileUpload1.HasFile)
{
    //create the path to save the file to
    string fileName = Path.Combine(Server.MapPath("~/Files"), FileUpload1.FileName);
    //save the file to our local path
    FileUpload1.SaveAs(fileName);
}

しかし、その中で、私は上記のように私の物理的な道を与えたいと思います。これを行う方法?

4

3 に答える 3

7

Server.MapPath("~/Files")アプリケーションに関連するフォルダに基づいた絶対パスを返します。先頭~/は、ASP.Netにアプリケーションのルートを調べるように指示します。

アプリケーションの外部でフォルダを使用するには:

//check to make sure a file is selected
if (FileUpload1.HasFile)
{
    //create the path to save the file to
    string fileName = Path.Combine(@"E:\Project\Folders", FileUpload1.FileName);
    //save the file to our local path
    FileUpload1.SaveAs(fileName);
}

もちろん、本番アプリケーションでパスをハードコーディングすることはありませんが、これにより、説明した絶対パスを使用してファイルを保存する必要があります。

保存したファイルの場所について(コメントごとに):

if (FileUpload1.HasFile)
{
    string fileName = Path.Combine(@"E:\Project\Folders", FileUpload1.FileName);
    FileUpload1.SaveAs(fileName);

    FileInfo fileToDownload = new FileInfo( filename ); 

    if (fileToDownload.Exists){ 
        Process.Start(fileToDownload.FullName);
    }
    else { 
        MessageBox("File Not Saved!"); 
        return; 
    }
}
于 2012-05-07T09:50:06.173 に答える
2

上手、

これは、 VirtualPathUtilityを使用して実現できます

于 2012-05-07T09:50:17.787 に答える
0
// Fileupload1 is ID of Upload file
if (Fileupload1.HasFile)
{
    // Take one variable 'save' for store Destination folder path with file name
    var save = Server.MapPath("~/Demo_Images/" + Fileupload1.FileName);
    Fileupload1.SaveAs(save);
}
于 2018-11-20T05:31:48.357 に答える