求一个可以上传小说和图片的网站源码。

这是我用的asp。图片存储在UpImages文件中,图片文件存储在数据库中。请添加您自己的数据连接。

& lt% @ LANGUAGE = " VBSCRIPT " code page = " 936 " % & gt;

& lt!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN " "版权所有。& ltbr/>;

版权所有:|技术支持:

& lt/tr & gt;

& lt/table & gt;

& lt%

如果request("action") = "Addnew ",那么

newline = chrB(13)amp;ChrB(10) 'newline代表二进制回车。

filesize = request . total bytes ' filesize是表单的数据大小。

Filedata =请求。binaryread (filesize)' Filedata是以下形式的二进制数据。

Divider = leftb (filedata,clng (instrb (filedata,newline))-1)“分隔符是一个分隔符。

设置Rs =服务器。CreateObject("ADODB。记录集”)

Sql="Select * From word "

卢比打开康涅狄格州的Sql,3,3

Rs.addnew

k = 1

While instrb(k,filedata,divider)& lt;instrb((instrb(k,filedata,divider)+lenb(divider)),filedata,divider)

start = instrb(k,filedata,divider) + lenb(divider) +2

endsize = instrb((instrb(k,filedata,divider) + lenb(divider)),filedata,divider) - start - 2

Content = midb (filedata,start,endsize)'取文件描述部分。

start_name = instrb(content,toByte("name= " "))

end_name = instrb(start_name + 6,content,toByte(" " " "))

Name tag = midb (content,start _ name+6,end _ name-start _ name-6)'取文件描述部分name= " "中的内容,即表单元素的名称。

pos 1 _ filename = instrb(end _ name,content,toByte("filename= " "))

如果是文件箱,文件描述部分应该有filename= ",所以pos1_filename不等于0。

如果pos1_filename = 0那么'表单不属于文件上传数据处理。

Name value = tostr (midb (content,end _ name+5,lenb (content)-end _ name-4))'获取文件内容。

将文档描述中的名称= " "中的内容与表单元素的名称进行比较,并将相应的内容添加到数据库中。

If(InStr(toStr(nametag)," file ")& gt;0)那么‘centerid 2’就是表单控件的name属性值,如下。

Rs("image") =名称值

上传文件时,在文件名中使用Session("CenterID") = namevalue。

如果…就会结束

If(InStr(toStr(nametag)," title ")& gt;0)然后

Rs("title") =名称值

如果namevalue= " "那么

回应。写" & lt脚本& gtAlert('请输入标题!')& lt/Script & gt;"

响应.结束

如果…就会结束

如果…就会结束

If(InStr(toStr(nametag)," content ")& gt;0)然后

Rs("content") =名称值

如果namevalue= " "那么

回应。写" & lt脚本& gtAlert('请输入内容!')& lt/Script & gt;"

响应.结束

如果…就会结束

如果…就会结束

If(InStr(toStr(nametag)," select ")& gt;0)然后

设置Rs1 =服务器。CreateObject("ADODB。记录集”)

Sql= "从mun中选择*

Rs1。打开康涅狄格州的Sql,3,3

Rs1("mun")=namevalue

Rs1.update

Rs1。关闭

设置RS 1 =无

如果…就会结束

RS(" wtime ")= year(now)amp;“-”& amp;月(现在)和。“-”& amp;日(现在)

回应。写入(名称值)

回应。写(" & ltbr >;)

“Else”处理文件上传部分的数据。

pos 2 _ filename = instrb(pos 1 _ filename+10,content,toByte(" " " ")

完整路径= midb (content,pos 1 _ filename+10,pos 2 _ filename-pos 1 _ filename-10)'从文件描述部分取出文件路径。

cover name = get filename(toStr(full path))

if(full path & lt;& gt如果是上传的文件,执行下面的代码。

“Dim bStart”取二进制流文件部分的起始位置。

bStart = instrb(start,filedata,newline & amp换行符)+3

' Dim bEnd '取二进制流文件部分结束位置。

bEnd=inStrB(bStart+6,filedata,divider)-bStart-3

“Dim stm”定义了一个adodb.stream源对象stm,用于将二进制流文件部分从stm复制到另一个adodb.stream。

set STM = createObject(" adodb . stream ")

Stm.type=1 '二进制模式

“Stm.mode=3”指定打开模式为读写。

stm.open

“Stm.write filedata”写入二进制流内容。

' Dim fromStm '从Stm定义adodb.stream对象以保存文件。

set from STM = createOBject(" adodb . stream ")

使用fromStm

。type=1

。模式=3

。打开

“Stm.position = bStart”指定Stm对象的起始位置,将变量bStart的值作为起始位置。

' Stm.copyTo fromstm,bEnd '将Stm二进制流复制到fromstm对象,长度为bEnd变量的长度。

。savetofile服务器。mappath(封面名),2 '保存文件,如果同名文件存在,则覆盖它。

。关闭

以…结尾

set fromStm = nothing

stm.close

设置stm =无

Rs("image") =covername '将文件的相对路径写入数据库。

如果…就会结束

如果…就会结束

k = instrb((instrb(k,filedata,divider)+lenb(divider)),filedata,divider)

Rs .更新

Rs关闭

设置Rs =无

回应。重定向“mylife.asp”

如果…就会结束

Function toStr(Byt)'将二进制转换为字符串。

toStr= " "

对于i=1到lenb(字节)

blow = midb(byt,I,1)

如果ascb(blow)>那么127

toStr = toStr & ampchr(ascw(midb(byt,i+1,1)& amp;吹)’

i = i+1

其他

toStr = toStr & ampchr(ascb(吹气))

如果…就会结束

然后

结束功能

Function toByte(Str)'将字符串转换为二进制。

dim i,iCode,c,iLow,iHigh

toByte= " "

For i=1到Len(Str)

c=mid(Str,I,1)

iCode =Asc(c)

如果iCode & lt0,则iCode = iCode + 65535

如果iCode & gt那就255

iLow = Left(十六进制(Asc(c)),2)

iHigh =Right(十六进制(Asc(c)),2)

托字节=托字节& ampchrB(" & amp;H " & ampiLow)和ampchrB(" & amp;H " & ampiHigh)

其他

托字节=托字节& ampchrB(AscB(c))

如果…就会结束

然后

结束功能

函数GetFileName(imagespath)'将路径转换为时间,并使上传的文件具有相同的名称。

如果imagespath & lt& gt”“那么

Rname = right (tostr(全路径),len (tostr(全路径))-instrrev (tostr(全路径)," ")+1)'来获取后缀名称。

get filename = " up images/" & amp;年(现在)和。月(现在)和。日(现在)与时;小时(现在)& amp分钟(现在)& amp第二次(现在)& amprname

其他

GetFileName = " "

如果…就会结束

结束功能

% & gt

& lt/body & gt;

& lt/html & gt;