up.htm
<!--#include file="inc/domin.asp"-->
<!--#include file="conn.asp"-->
<html>
<голова>
<title><% =имя веб-сайта %></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="main.css" type="text/css">
<style type="text/css">
<!--
.tx1 { высота: 20 пикселей; ширина: 30 пикселей; размер шрифта: 9pt; граница: сплошная 1 пиксель; цвет границы: черный черный
#000000; цвет: #0000FF}
-->
</style>
<script Language="JavaScript">
<!--
var bgc_on=new Array("#74D738","#FF9C17","#3278AB","#486177","#078C00","#007ECA")
var bgc_off=new Array("#4CAD12","FFB859","5F9FD0","577590","08A700","009FFF")
function Turnon(obj1,id){
obj1.style.background=bgc_on[id];
}
функция Turnoff(obj1,id){
obj1.style.background=bgc_off[id];
}
//-->
</скрипт>
<язык SCRIPT=javascript>
функция check_input()
{
если (Frm.pic.value=="")
{ alert("Стартовое изображение 上传的图片");
вернуть ложь;
}
если (Frm.type.value=="")
{ alert("Стартовое изображение 片类型");
вернуть ложь;
}
если (Frm.thetext.value=="")
{ alert("Снимок изображения с надписью "请输"");
вернуть ложь;
}
вернуть истину;
}
</СКРИПТ>
</head>
<body bgcolor="#555555" text="#000000" leftmargin="0" topmargin="0">
<table width=755 cellpadding=0 cellpacing=0 border=0 bgcolor=#ffffff align="center">
<тр>
<td height=100><img src="img/top.gif" align="top">
</table>
<!--#include file="inc/mulu.asp"-->
<table width=755 cellpadding=0 cellpacing=0 border=0 bgcolor=#ffffff align="center" bordercolor=#000000>
<тр>
<td height=400 width=180 bgcolor=#D1E9D5 style="border-right: 1px #0E801E Solid">
<table width=100% height=100% cellpadding=0 cellpacing=0 border=0 align="center" bordercolor=#000000>
<tr><td height=30 align="center" class=L15><font color=#E96D08>欢迎你:<% =username %> 管理中心</font>
<tr><td height=23 align="center" class=L15 bgcolor=#4CAD12 style="border-top:0px #0E801E Solid; border-bottom:1px #0E801E Solid;"><font color=#C2F009 class =иньин>管理中心</font>
<tr><td height=20 класс=L13>
<!--#include file="inc/centermulu.asp"-->
<tr><td высота=5>
<tr><td>
</таблица>
<тд>
<%
set rs=server.createobject("adodb.recordset")
sql="выберите * из фотографии, где автор=""&имя_пользователя&"'"
rs.open sql,conn,1,1
%>
<таблица cellpadding=0 cellspace=0 граница=0 ширина=100% высота=100%>
<tr><td высота=3>
<tr><td height=3 bgcolor=#ffffff background=img/bj3.gif>
<tr><td height=20 valign="bottom" bgcolor=#eeeeee> Код: 98243班 - 管理中心 - 添加新闻
<tr><td height=3 bgcolor=#eeeeee style="border-bottom: 1px #cccccc Solid"><p style="font-size:1pt">
<tr><td height=20 valign="bottom"> <font color=green><% =username %>:你一共上传了 <font color=red><% =rs.recordcount %></font> 张照Фото</font> <a href="adminphoto.asp"><font color=red><u>管理以前上传的照Фото</u></font></a>
<tr><td bgcolor=#ffffff valign=top>
<table cellpadding=0 cellpacing=0 border=0 width=95% height=100% align="center">
<form action=addphoto.asp метод=post name=Frm onSubmit="return check_input()" enctype="multipart/form-data">
<tr><td height=20 colspan=2>
<tr><td height=25 width=15% align="right" class=L13>选择照Фото: <td> <input NAME="pic" TYPE="FILE" class="tx1" style="width:300 "> <font color=red>拒绝色情、写真图等</font>
<tr><td height=25 width=20% align="right" class=L13>照片分类: <td> <select name=" тип">
<option selected value="">选择类型</option>
<option value="班级合影">班级合影</option>
<option value="个人照片">Доступные фото</option>
<option value="恩师照片">恩师照片</option>
<option value="情人照片">情人照片</option>
<option value="友人照片">友人照片</option>
<option value="其他照片">其他照片</option>
</select>
<tr><td height=25 width=20% align="right" class=L13>照片说明: <td> <textarea name="thetext" cols="46" rows="7" style= "граница: 1 пиксель двойной RGB (88,88,88); шрифт: 9pt">
</textarea> <font color=red>20-летний юбилей</font>
<tr><td height=5 colspan=2>
<tr><td height=25 colspan=2 align="center">
<input type="submit" name="Submit" value=" 提 交 " style="border:1px double rgb(88,88,88);font:9pt">
<input type="reset" name="Reset" value=" 重 写 " style="border:1px double rgb(88,88,88);font:9pt">
<tr><td colspan=2>
</tr></form>
</таблица>
/таблица
> </таблица>
<!--#include file="inc/footer.asp"-->
</тело>
</html>
fupload.inc
<SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT>
'限制上传 фото фото
Dim UploadSizeLimit
'************************************ 得到上传数据 ********** ************************
Функция ПолучитьЗагрузить()
Тусклый результат
Установить результат = Ничего
Если Request.ServerVariables("REQUEST_METHOD") = "POST" Тогда "Метод запроса должен быть "POST"
Dim CT, PosB, граница, длина, PosE
CT = Request.ServerVariables("HTTP_Content_Type") 'считывает заголовок Content-Type
Если LCase(Left(CT, 19)) = "multipart/form-data", то заголовок Content-Type должен быть "multipart/form-data"
«Это запрос на загрузку.
'Получаем границу и длину из заголовка Content-Type
PosB = InStr(LCase(CT), "boundary=") 'Находит границу
Если PosB > 0, то Boundary = Mid(CT, PosB + 9) 'Разделяет границу
Длина = CLng(Request.ServerVariables("HTTP_Content_Length")) 'Получаем заголовок Content-Length
если "" & UploadSizeLimit<>"" тогда
UploadSizeLimit = clng(UploadSizeLimit)
если Длина > UploadSizeLimit, то
' при ошибке возобновить следующий 'Очищает входной буфер
'Response.AddHeader "Соединение", "Закрыть"
'при ошибке переход на 0
Request.BinaryRead(длина)
Err.Raise 2, "GetUpload", "Размер загрузки" & FormatNumber(Length,0) & "B превышает предел " & FormatNumber(UploadSizeLimit,0) & "B"
функция выхода
конец, если
end if
Если длина > 0 и граница <> "" Тогда 'Есть ли необходимая информация о загрузке?
Граница = "--" & Граница
Тусклая голова, двоичный
Binary = Request.BinaryRead(Length) 'Читает двоичные данные от клиента
' Извлекает поля загрузки из двоичных данных
Установить результат = SeparateFields(Двоичный, Граница)
Binary = Empty 'Очистить переменные
Еще
Err.Raise 10, «GetUpload», «Запрос нулевой длины».
Конец, если
Еще
Err.Raise 11, «GetUpload», «Файл не отправлен».
Конец, если
Еще
Err.Raise 1, «GetUpload», «Неверный метод запроса».
Конец, если
Установите GetUpload = Результат
Конечная функция
Функция SeparateFields(Двоичный, Граница)
Dim PosOpenBoundary, PosCloseBoundary, PosEndOfHeader, isLastBoundary
Тусклые поля
Граница = StringToBinary(Граница)
PosOpenBoundary = InstrB(Двоичный, Граница)
PosCloseBoundary = InstrB(PosOpenBoundary + LenB(Boundary), Binary, Boundary, 0)
Set Fields = CreateObject("Scripting.Dictionary")
Do While (PosOpenBoundary > 0 и PosCloseBoundary > 0 And Not isLastBoundary)
'Данные заголовка и поля файла/источника
Уменьшить заголовок содержимого, FieldContent
'Поля заголовка
Тусклый Content_Disposition, FormFieldName, SourceFileName, Content_Type
'Вспомогательные переменные
Тусклое поле, TwoCharsAfterEndBoundary
'Получить конец заголовка
PosEndOfHeader = InstrB(PosOpenBoundary + Len(Boundary), Binary, StringToBinary(vbCrLf + vbCrLf))
'Отделяет заголовок поля
HeaderContent = MidB(Binary, PosOpenBoundary + LenB(Boundary) + 2, PosEndOfHeader - PosOpenBoundary - LenB(Boundary) - 2)
'Разделяет содержимое поля
FieldContent = MidB(Binary, (PosEndOfHeader + 4), PosCloseBoundary - (PosEndOfHeader + 4) - 2)
'Отделяет поля заголовка от заголовка
GetHeadFields BinaryToString(HeaderContent), Content_Disposition, FormFieldName, SourceFileName, Content_Type
'Создайте одно поле и назначьте параметры
Установить поле = CreateUploadField()
Поле.Имя = ИмяПоляФормы
Field.ContentDisposition = Content_Disposition
Field.FilePath = ИмяИсходногоФайла
Поле.ИмяФайла = ПолучитьИмяФайла(ИмяИсходногоФайла)
Field.ContentType = Content_Type
Поле.Значение = Содержимое поля
Поле.Длина = LenB(FieldContent)
Fields.Add FormFieldName, Field
'Это конечная граница?
TwoCharsAfterEndBoundary = BinaryToString(MidB(Binary, PosCloseBoundary + LenB(Boundary), 2))
'Binary.Mid(PosCloseBoundary + Len(Boundary), 2).String
isLastBoundary = TwoCharsAfterEndBoundary = "--"
If Not isLastBoundary then 'Это не конечная граница - перейдите к следующему полю формы.
PosOpenBoundary = PosCloseBoundary
PosCloseBoundary = InStrB(PosOpenBoundary + LenB(Граница), Двоичный, Граница )
Конец, если
Петля
Установить SeparateFields = Поля
Завершение функции
'********************************* Утилиты ************ **********************
Функция BinaryToString(str)
стрто = ""
для i=1 до lenb(str)
если AscB(MidB(str, i, 1)) > 127, то
strto = strto & chr(Ascb(MidB(str, i, 1))*256+Ascb(MidB(str, i+1, 1)))
я = я + 1
еще
strto = strto & Chr(AscB(MidB(str, i, 1)))
конец, если
следующий
BinaryToString=strto
Конечная функция
Функция StringToBinary(String)
Дим И, Б
От I=1 до len(String)
B = B & ChrB(Asc(Mid(String,I,1)))
Следующий
СтрингтоБинари = Б
Конечная функция
'Отделяет поля заголовка от заголовка загрузки
Функция GetHeadFields (ByVal Head, Content_Disposition, Name, FileName, Content_Type)
Content_Disposition = LTrim(SeparateField(Head, "content-disposition:", ";"))
Name = (SeparateField(Head, "name=", ";")) 'ltrim
Если Left(Name, 1) = """" Тогда Name = Mid(Name, 2, Len(Name) - 2)
FileName = (SeparateField(Head, "filename=", ";")) 'ltrim
Если Left(FileName, 1) = """" Тогда FileName = Mid(FileName, 2, Len(FileName) - 2)
Content_Type = LTrim(SeparateField(Head, "content-type:", ";"))
Конечная функция
'Разделяет один файл между sStart и sEnd
Функция SeparateField(From, ByVal sStart, ByVal sEnd)
Тусклый PosB, PosE, sFrom
sFrom = LCase(От)
PosB = InStr(sFrom, sStart)
Если PosB > 0 Тогда
PosB = PosB + Len(sStart)
PosE = InStr(PosB, sFrom, sEnd)
Если PosE = 0, то PosE = InStr(PosB, sFrom, vbCrLf)
Если PosE = 0, то PosE = Len(sFrom) + 1
SeparateField = Mid(From, PosB, PosE - PosB)
Еще
СепаратеФилд = Пусто
Конец, если
Конечная функция
'Отделяет имя файла от полного пути к файлу
Функция GetFileName(FullPath)
Дим Пос, ПосФ
ПосФ = 0
Для Pos = Len(FullPath) до 1 Шаг -1
Выберите средний регистр (FullPath, Pos, 1)
Случай "/", "": PosF = Pos + 1: Pos = 0
Конец выбора
Следующий
Если PosF = 0, то PosF = 1
GetFileName = Mid(FullPath, PosF)
Конечная функция
</СКРИПТ>
<SCRIPT RUNAT=ЯЗЫК СЕРВЕРА=JSCRIPT>
//Функция создает объект Field.
функция CreateUploadField() { return new uf_Init() }
функция uf_Init(){
это.Имя = ноль
this.ContentDisposition = ноль
this.FileName = ноль
this.FilePath = ноль
this.ContentType = ноль
это.Значение = ноль
this.Length = ноль
}
</SCRIPT>
addphoto.asp
<!--#include file="conn.asp"-->
<!--#include file="inc/domin.asp"-->
<!--#include file="fupload.inc"-->
<%
if Request.ServerVariables("REQUEST_METHOD") = "POST" Тогда
Тусклые поля
UploadSizeLimit=100000
Установить поля = GetUpload()
тусклое поле
Для каждого поля в Fields.Items
выберите регистр Field.name
случай "thetext" sss=BinaryToString(Field.value)
случай "тип" fff=BinaryToString(Field.value)
случай "отправить" submit=BinaryToString(Field.value)
чехол "картинка"
имя_файла=поле.ИмяФайла
fileContentType=field.ContentType
filevalue=field.value
конец выбора
следующий
'---------------
если имя_файла<>"" и fileContentType<>"image/gif" и
fileContentType<>"image/pjpeg", то
%>
<центр>
<br><br>
<font color=red size=3>上传的照片应该为GIF或JPG文件!</font><br><br>
<input type="button" value="重填" onclick="history.go( -1 );return
true;">
</центр>
<%
еще
'------------
'开始输入
'-----------
ответ.напишите sss
ответ.write"<br>"
ответ.написать fff
set rs=server.createobject("ADODB.recordset")
sql = "выбрать * из tb, где theid равен нулю"
rs.Open sql,conn,3,3
rs.addnew
rs("автор")=имя пользователя
rs("текст")=ссс
rs("типы")=fff
rs("обращения")=1
rs("posttime")=сейчас()
rs("photo").appendchunk значение файла
rs.update
RS.закрыть
%>
<br><br>
<center><font color=red
size=3>成功输入个人基本档案!</font><br><br><form Method="post"
action="personinf.asp"><input type="submit" value="返回"></form>
</центр>
<%
конец, если
конец, если
%>
showpic.asp
<!--#include file="conn.asp"-->
<%
идентификатор = Запрос («идентификатор»)
set rs=server.CreateObject("adodb.recordset")
sql="SELECT * FROM tb, где theid="&id
rs.Open sql,conn,1,3
response.contenttype="изображение/гиф"
Response.BinaryWrite rs("фото")
%>