圖片數據存入數據庫: sqlstr="select * from "&tbname&" where id is null" set rs=server.createobject("adodb.recordset") rs.Open sqlstr,conn,1,3 rs.AddNew () rs("title")=title rs("filename")=filename rs("filetype")=filetype rs("thelevel")=thelevel rs("uploaddate")=date() rs("uploadip")=request.ServerVariables("REMOTE_ADDR") rs("contenttype")=contenttype rs("data").AppendChunk (binstr) rs("size")=size rs("offset")=offset rs.Update rs.Close()
讀取顯示: rs.Open sqlstr,conn,3 if not rs.EOF then contenttype=rs("contenttype") binstr=rs("data").GetChunk(rs("size")+rs("offset")) if rs("offset")=1 then binstr=midb(binstr,2) end if if instr(contenttype,"text/")=1 or _ instr(contenttype,"image/")=1 or _ instr(contenttype,"application/msword")=1 then response.contenttype=trim(contenttype) response.binarywrite binstr else response.addheader "Content-Disposition","attachment;filename="""&rs("filename")&"""" response.contenttype=trim(contenttype) response.binarywrite binstr end if if request("preview")<>"yes" then sqlstr="update "&tbname&" set downtimes=downtimes+1 where id="&fileid conn.Execute sqlstr end if end if 說明: 對于超長的二進制數據(如圖像數據)要使用fieldname.AppendChunk() 和fieldname.GetChunk()來讀寫。
|