簡體   English   中英

如何從 url 獲取文件的原始文件名

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM