Рефетека.ру / Информатика и програм-ие

Авторский материал: 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>

Список литературы

Для подготовки данной работы были использованы материалы с сайта http://www.activex.net.ru/


Похожие работы:

  1. • Выбор и использование программных технологий JSP и ASP.Net при ...
  2. • "ASP.NET Atlas" - AJAX в исполнении Microsoft
  3. • Создание сайта на языке ASP.NET
  4. • WEB сервис поиска терминалов банка
  5. • ASP.NET: пример построения круговой диаграммы
  6. • Обеспечение безопасности системы и защита данных в Windows ...
  7. • Автоматизированная система торгового предприятия ...
  8. • Компания Borland Software Corporation
  9. • Технологии программирования Web
  10. • Active Directory for Application Mode
  11. • Системы и средства формирования отчетов
  12. • Менеджер подключений к базам данных
  13. • Создание динамических сайтов средствами Dreamweaver
  14. • Разработка интернет - магазина по продаже ...
  15. • Разработка АИС управления взаимоотношениями с ...
  16. • Автоматизированная система бронирования авиабилетов
  17. • Автоматизированная система утверждения электронных ...
  18. • Языки серверных скриптов
  19. • MSSQL 2005 (Yukon) - работа с очередями и асинхронная ...
Рефетека ру refoteka@gmail.com