[英]How to get original file name of a file from url
我已使用隨機名稱將文件上傳到我的網站。 現在我想獲取原始文件名。
我試圖獲取文件名:
var dllUrl = "https://cdn.example.com/c6244c971f.dll";
FileVersionInfo myFileVersionInfo = FileVersionInfo.GetVersionInfo(dllUrl);
Console.WriteLine(myFileVersionInfo.OriginalFilename);
但它沒有用。
如何從版本資源中獲取原始名稱?
FileVersionInfo.GetVersionInfo的參數是文件名,不是 URL。
您需要將文件(參見例如此處)下載到臨時文件,然后使用FileVersionInfo.GetVersionInfo(temporaryFile)
。
沒有其他方法可以這樣做,因為原始文件名沒有編碼在 URL 中,也沒有 HTTP 動詞(或任何其他標准化方式)來僅獲取文件的版本資源。
我同意克勞斯·古特的觀點。 您需要下載該文件。
這是代碼:
var uri = "https://cdn.example.com/c6244c971f.dll";
var uniqueFileName = Path.GetRandomFileName();
var uniqueFilePath = Path.Combine(@"D:\temp", uniqueFileName);
// Download the file
new WebClient().DownloadFile(uri, uniqueFilePath);
// Get file version info
FileVersionInfo myFileVersionInfo = FileVersionInfo.GetVersionInfo(uniqueFilePath);
Console.WriteLine(myFileVersionInfo.OriginalFilename);
// Delete the file from local disk
File.Delete(uniqueFilePath);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.