MaxEdu.ru
» » » Upload файлов с уникальными именами в ASP.NET
Вернуться назад

Upload файлов с уникальными именами в ASP.NET

Задача: необходимо загружать файлы в папку upload на сервере с уникальными именами. Т.е. при загрузке двух файлов с одинаковыми именами они должны сохраняться под уникальными именами и не перезаписывать друг друга. В ASP.NET эта задача легко решается с помощью класса Guid. Т.о. файл будет сохранен например под именем fe008e1a-f07c-4263-8dc4-67f042a8cbdb_valley.jpg.
Папка upload должна иметь NTFS права на чтение/запись/изменение для интернет-пользователя.
Файл upload_cs.aspx (написан на C#):
<%@ Page Language="C#" %>
<script language="C#" runat="server">
void Upload_Click(Object sender, EventArgs e) {
string strFileName, strRootUpload, strUniqueName;
int index;
strRootUpload = Server.MapPath("./upload");
lblMessage.Text = "";
if (fileInp.PostedFile != null) {
try {
strFileName = fileInp.PostedFile.FileName;
if (strFileName != "") {
strFileName = strFileName.Replace("/", "\\");
index = strFileName.LastIndexOf("\\");
strFileName = strFileName.Substring(index + 1);
strUniqueName = System.Guid.NewGuid().ToString() + "_" + strFileName;
fileInp.PostedFile.SaveAs(strRootUpload + "\\" + strUniqueName);
lblMessage.Text = "Файлуспешнозагруженсименем " + strUniqueName + "<p>";
}
}
catch (Exception ex) {
lblMessage.Text = ex.Message + "<p>";
}
}
}
</script>
<HTML>
<HEAD>
<Title>Unique Upload</Title>
</HEAD>
<BODY>
<form enctype="multipart/form-data" runat="server">
<asp:Label id="lblMessage" runat="server" />
Файл:<br>
<input id="fileInp" type="file" runat="server"><br>
<asp:button text="Загрузить" onclick="Upload_Click" runat="server" />
</form>
</BODY>
</HTML>
Файл upload_vb.aspx (написанна VB.NET):
<%@ Page Language="VB" %>
<script language="VB" runat="server">
Sub Upload_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim strFileName, strRootUpload , strUniqueName As String
Dim index As Integer
strRootUpload = Server.MapPath("./upload")
lblMessage.Text = ""
If Not (fileInp.PostedFile Is Nothing) Then
Try
strFileName = fileInp.PostedFile.FileName
If strFileName <> "" Then
strFileName = strFileName.Replace("/", "\")
index = strFileName.LastIndexOf("\")
strFileName = strFileName.Substring(index + 1)
strUniqueName = System.Guid.NewGuid().ToString() + "_" + strFileName
fileInp.PostedFile.SaveAs(strRootUpload & "\" & strUniqueName)
lblMessage.Text = "Файлуспешнозагруженсименем " & strUniqueName & "<p>"
End if
Catch ex As Exception
lblMessage.Text = ex.Message & "<p>"
End Try
End If
End Sub
</script>
<HTML>
<HEAD>
<Title>Unique Upload</Title>
</HEAD>
<BODY>
<form enctype="multipart/form-data" runat="server">
<asp:Label id="lblMessage" runat="server" />
Файл:<br>
<input id="fileInp" type="file" runat="server"><br>
<asp:button text="Загрузить" onclick="Upload_Click" runat="server" />
</form>
</BODY>
</HTML>

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать полную версию
Рефераты по информатике Задача: необходимо загружать файлы в папку upload на сервере с уникальными именами. Т.е. при загрузке двух файлов с одинаковыми именами они должны
Оценок: 308 (Средняя 5 из 5)

Специалисты RetsCorp работают в digital-сфере более 7 лет. За это время мы разработали более 500+ успешных проектов. Основываясь на своем опыте и знании рынка, мы с уверенностью можем сказать, что будет работать, а что — нет. Заказывая создание лендинга для бизнеса в нашей студии, вы получаете работающие решения, необходимые именно вашему бизнесу.

Сотрудничая с нами, вы будете не клиентом, а нашим партнером. Благодаря этому мы будем развивать ваш бизнес как собственный. Мы так же как и вы заинтересованы в успехе проекта, поскольку ваша успешность будет нашей рекламой.

© 2014 - 2022 MaxEdu.ru