главная -> статьи -> сетевые приложения | |
Загрузка файлов на сервер
Как уже упоминалось в разделе "Выбор языков программирования", язык ASP не позволяет простыми методами выполнить данную процедуру. Ниже приведен фрагмент кода на ASP.NET, разберите его внимательно. <%@ Import namespace="System.IO"%> <%@ Page Language="VB" Debug="true" %> <script runat="server"> Dim my_test, savePath, filename, message Sub Page_Load(source As Object, e As EventArgs) my_test = Request.QueryString("test") my_path="" End Sub Sub Upload_Click(source As Object, e As EventArgs) savePath = Server.MapPath("../image/") If Not (foto.PostedFile Is Nothing) Then Try Dim postedFile = foto.PostedFile filename = Path.GetFileName(postedFile.FileName) If System.IO.File.Exists(savePath & filename) Then message = "<font color = 'red'>Файл с именем " & filename & _ " уже существует в Вашем каталоге.<br>" & _ "Для повторной вставки или перезаписи поставьте отметку Перезаписать</font><p>" End If If Request("over_wri")=1 Or Not (System.IO.File.Exists(savePath & filename)) Then Dim dirInfo As New DirectoryInfo(savePath) Dim existfilename As String postedFile.SaveAs(savePath & filename) Response.Redirect("post_obj.asp?filename=" & filename) End If Catch exc As Exception message = "<font color = 'red'> Не выбран объект или ошибка записи</font><p>" End Try End If End Sub </script> <html> <head> <title>Вставить фото</title> <script type="text/javascript"> window.resizeTo(400, 400); function onCancel() { this.close(); } </script> </head> <body> <form name=form1 method="post" enctype="multipart/form-data" runat="server"> <table border="0" width="300" height="100" style="padding: 0px; margin: 0px"> <tr> <td style="width: 7em; text-align: right">Фото:</td> <td><input type="file" name="foto" id="foto" runat="server"/> </td> </tr> <tr> <td align="right"> Перезаписать: </td> <td> <input type = "checkbox" onChange = "javascript: if (this.checked)Следует помнить, что ASP.NET не поддерживает объект session поэтому: 1. Передачу параметров можно осуществлять посредством запроса, в строке my_test = Request.QueryString("test") осуществляем присвоение переменной переданного параметра. 2. В строке Response.Redirect("post_obj.asp?filename=" & filename) происходит обращение к завершающей обработке на ASP, в которой производим, например, занесение имени файла в базу данных, обновление и закрытие соответствующих форм. |
|
© 2007 Сединко А.М.
© 2004 design by kir |