Path.GetFullPath(...)
返回相對於您當前目錄提供的文件名的路徑。
通常您的當前目錄是運行應用程序的位置,所以如果您從C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0\
運行,那麼該輸出是正確的。
您可能需要做的是使用Path.GetFileName
從給定的filefield
中提取文件名,然後使用Path.GetFullPath
創建要保存到的位置的絕對路徑。
的Path.GetFullPath文檔解釋了這個還算乾淨:
string fileName = "myfile.ext";
string path1 = @"mydir";
string path2 = @"\mydir";
string fullPath;
fullPath = Path.GetFullPath(path1);
Console.WriteLine("GetFullPath('{0}') returns '{1}'",
path1, fullPath);
fullPath = Path.GetFullPath(fileName);
Console.WriteLine("GetFullPath('{0}') returns '{1}'",
fileName, fullPath);
fullPath = Path.GetFullPath(path2);
Console.WriteLine("GetFullPath('{0}') returns '{1}'",
path2, fullPath);
// Output is based on your current directory, except
// in the last case, where it is based on the root drive
// GetFullPath('mydir') returns 'C:\temp\Demo\mydir'
// GetFullPath('myfile.ext') returns 'C:\temp\Demo\myfile.ext'
// GetFullPath('\mydir') returns 'C:\mydir'
那麼,我需要將文件保存到網絡服務器,然後將其上傳到Amazon S3然後刪除文件? (這是我的主要目標) –
@GregGoodwin,這是正確的 - 將文件保存在Web服務器上的臨時位置,然後將其上傳到亞馬遜商店。 – VinayC