Upload файлов с уникальными именами в ASP.NET
Христофоров Юрий
Задача: необходимо загружать файлы в папку upload на
сервере с уникальными именами. Т.е. при загрузке двух файлов с одинаковыми
именами они должны сохраняться под уникальными именами и не перезаписывать друг
друга. В ASP.NET эта задача легко решается с помощью класса Guid. Т.о. файл
будет сохранен например под именем
fe008e1a-f07c-4263-8dc4-67f042a8cbdb_valley.jpg.
Папка upload должна иметь NTFS права на
чтение/запись/изменение для интернет-пользователя.
Файл upload_cs.aspx (написан на C#):
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 + "";
}
}
catch
(Exception ex) {
lblMessage.Text = ex.Message +
"";
}
}
}
Unique
Upload
Файл:
Файл upload_vb.aspx (написан на VB.NET):
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 &
""
End if
Catch ex As Exception
lblMessage.Text = ex.Message &
""
End Try
End
If
End
Sub
Unique
Upload
Файл:
Список литературы
Для подготовки данной работы были использованы
материалы с сайта http://www.activex.net.ru/