This is for .net programmers. You can use both client side and server side codes to get the file name and extension.
Get File Name and Extension in C#
var url = new Uri("https://www.encodedna.com/aspdotnet/get-file-size-using-csharp-and-vb.htm"); result.InnerHtml = "File name: " + System.IO.Path.GetFileName(url.LocalPath) + "<br /> " + "File type: " + System.IO.Path.GetExtension(url.LocalPath);
result.InnerHTML, its a <p> element, where I am showing the output.
In the examples above, I am using the Path.GetFileName() and Path.GetExtension() methods to get the file name and file type (or extension) of a given URL.
The methods are part of the Path class of System.IO name space.
Get File Name and Extension Vb.Net
Dim url = New Uri("https://www.encodedna.com/aspdotnet/get-file-size-using-csharp-and-vb.htm") MsgBox(System.IO.Path.GetFileName(url.LocalPath)) MsgBox(System.IO.Path.GetExtension(url.LocalPath))
Now lets check with more URLs, with different file types.
Let us assume I have a dropdown list with different URL's (web pages or images). When I select a URL from the list, it should get the file name and extension.
<asp:DropDownList runat="server" id="ddl" AutoPostBack="True" OnSelectedIndexChanged="checkURL" Font-Names="Calibri" Font-Size="Medium"> <asp:ListItem>-- Select --</asp:ListItem> <asp:ListItem Value="https://www.encodedna.com/images/theme/easy-image-resizer.jpg"> https://www.encodedna.com/images/theme/easy-image-resizer.jpg </asp:ListItem> <asp:ListItem Value="https://www.encodedna.com/aspdotnet/get-file-size-using-csharp-and-vb.htm"> https://www.encodedna.com/aspdotnet/get-file-size-using-csharp-and-vb.htm </asp:ListItem> <asp:ListItem Value="https://www.encodedna.com/sitemap/tutorials.htm#jsdefault.aspx"> https://www.encodedna.com/sitemap/tutorials.htm#jsdefault.aspx </asp:ListItem> </asp:DropDownList> <p id='result' runat="server"></p>
protected void checkURL(object sender, EventArgs args) { if (!string.IsNullOrEmpty(ddl.SelectedValue)) { var url = new Uri(ddl.SelectedValue); result.InnerHtml = "File name: " + System.IO.Path.GetFileName(url.LocalPath) + "<br /> " + "File type: " + System.IO.Path.GetExtension(url.LocalPath); } }
Protected Sub checkURL(ByVal sender As Object, ByVal args As EventArgs) If ddl.SelectedValue <> "" Then Dim url = New Uri(ddl.SelectedValue) MsgBox(System.IO.Path.GetFileName(url.LocalPath)) MsgBox(System.IO.Path.GetExtension(url.LocalPath)) End If End Sub
If you are using VB, you can show the result using the MsgBox() method. This method is not available in C#, therefore, I have used a <p> element to show the result.
The Path class provides many more methods and properties, to perform operations on files and directories. Such as, System.IO.Path.GetDirectoryName() etc.