? asp.net亚博足球娱乐场注册--任意三数字加yabo.com直达官网之纯ASP上传图像文件到数据库实例 亚博足球娱乐场注册,亚博娱乐全天彩,亚博官网赢钱不给
VB.net 2010 视频亚博足球娱乐场注册--任意三数字加yabo.com直达官网 VB.net 2010 视频亚博足球娱乐场注册--任意三数字加yabo.com直达官网 VB.net 2010 视频亚博足球娱乐场注册--任意三数字加yabo.com直达官网
SQL Server 2008 视频亚博足球娱乐场注册--任意三数字加yabo.com直达官网 c#入门经典亚博足球娱乐场注册--任意三数字加yabo.com直达官网 Visual Basic从门到精通视频亚博足球娱乐场注册--任意三数字加yabo.com直达官网
当前位置:
首页 > 网站开发 > ASPnet >
  • asp.net亚博足球娱乐场注册--任意三数字加yabo.com直达官网之纯ASP上传图像文件到数据库实例

  • 2018-04-24 08:38 来源:未知
原作者: IAmTrue?

-------------------------?
?

?
保存图片到数据库?
?

?
?

你可以找个图片试试,保存完毕后会有提示

?


?

 

Email :



 Picture :

  ?
?
?
?

savetodb.asp?
----------------------------------?
<%?

Response.Buffer = TRUE?
Response.Clear?
byteCount = Request.TotalBytes?

RequestBin = Request.BinaryRead(byteCount)?
Dim UploadRequest?
Set UploadRequest = CreateObject("Scripting.Dictionary")?

BuildUploadRequest RequestBin?

email = UploadRequest.Item("email").Item("Value")?

contentType = UploadRequest.Item("blob").Item("ContentType")?
filepathname = UploadRequest.Item("blob").Item("FileName")?
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,""))?
picture = UploadRequest.Item("blob").Item("Value")?

'Response.ContentType = contentType?
'Response.binaryWrite picture?

set objCn = server.createobject("adodb.connection")?
set objRst = server.createobject("adodb.recordset")?
objCn.Open "upload"?
objrst.Open "pic", objcn, 1,3,2?
objrst.addnew?
objrst.fields("filename")=filename?
objrst.fields("type")="gif"?

objrst.fields("what").appendchunk picture?
objrst.update?
response.write "第" & objrst("id") & "个图片。"?
objrst.close?

objCn.close?
set objrst=nothing?
set objcn = nothing?
%>?
?

showpic.asp?
----------------------------------------?
<%?
set objCn = server.createobject("adodb.connection")?
set objRst = server.createobject("adodb.recordset")?
objCn.Open "upload"?
objrst.Open "select what from pic where id=" & request("id"), objcn?

if not objrst.eof then?
  response.binarywrite objrst("what")?
end if?

objrst.close?
objCn.close?
set objrst=nothing?
set objcn = nothing?
%>?


upload.asp?
-------------------------------------------?
<%?
Sub BuildUploadRequest(RequestBin)?
  'Get the boundary?
  PosBeg = 1?
  PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))?
  boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)?
  boundaryPos = InstrB(1,RequestBin,boundary)?
  'Get all data inside the boundaries?
  Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))?
    'Members variable of objects are put in a dictionary object?
    Dim UploadControl?
    Set UploadControl = CreateObject("Scripting.Dictionary")?
    'Get an object name?
    Pos = InstrB(BoundaryPos,RequestBin,getByteString("Content-Disposition"))?
    Pos = InstrB(Pos,RequestBin,getByteString("name="))?
    PosBeg = Pos+6?
    PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))?
    Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))?
    PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filename="))?
    PosBound = InstrB(PosEnd,RequestBin,boundary)?
    'Test if object is of file type?
    If PosFile<>0 AND (PosFile
      'Get Filename, content-type and content of file?
      PosBeg = PosFile + 10?
      PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))?
      FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))?
      'Add filename to dictionary object?
      UploadControl.Add "FileName", FileName?
      Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))?
      PosBeg = Pos+14?
      PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))?
      'Add content-type to dictionary object?
      ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))?
      UploadControl.Add "ContentType",ContentType?
      'Get content of object?
      PosBeg = PosEnd+4?
      PosEnd = InstrB(PosBeg,RequestBin,boundary)-2?
      Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)?
      Else?
      'Get content of object?
      Pos = InstrB(Pos,RequestBin,getByteString(chr(13)))?
      PosBeg = Pos+4?
      PosEnd = InstrB(PosBeg,RequestBin,boundary)-2?
      Value = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))?
    End If?
    'Add content to dictionary object?
  UploadControl.Add "Value" , Value  ?
    'Add dictionary object to main dictionary?
  UploadRequest.Add name, UploadControl  ?
    'Loop to next object?
    BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)?
  Loop?

End Sub?

'String to byte string conversion?
Function getByteString(StringStr)?
For i = 1 to Len(StringStr)?
   char = Mid(StringStr,i,1)?
  getByteString = getByteString & chrB(AscB(char))?
Next?
End Function?

'Byte string to string conversion?
Function getString(StringBin)?
getString =""?
For intCount = 1 to LenB(StringBin)?
  getString = getString & chr(AscB(MidB(StringBin,intCount,1)))?
Next?
End Function?
%>?

test.mdb(dsn 名称:upload)?
----------------------------------------?
表pic:?
id:自动加?
filename:文本?
type:文本?
what:ole?

-----------------------------------------?
存成单个文件,放在一个目录下,打开(必须用http://...)getfile.htm?
上传一个.gif或.jpg就可以显示了。?
对于大文件在显示程序(showpic.asp)中可能会用到循环和getchunk方法。自己去做。记住,由于ASP目前暂时不支持二进行制读写,只能存二进制到数据库中。?
有什么问题,请致电veryblue@chinese.com (IAmTrue)?
-----------------------------------------------------------------?