• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    無組件圖文混合上傳示例

    發布: 2007-9-07 19:42 | 作者: admin | 來源: eNet論壇 | 查看: 16次 | 進入軟件測試論壇討論

    領測軟件測試網   以下代碼沒有規范,還有些功能沒完成,有那位高手能把它修改一下,封裝成類則更是造福大眾,或者以后有時間我會做的。本示例在w2kServer,IIS5,SQL SERVER7中測試通過。

      示例一共有三個文件:upload.htm(上傳界面)
    process.asp(處理程序)
    showimg.asp(顯示圖象)
    數據庫:在pubs數據庫中建立一個新表名為imgtest
    字段名    類型   長度
    ----------------------------------------------
    id int (自動編號)
    img iamge
    imginfo nchar 50
    以下是三個文件的代碼:
    upload.htm
    ---------------------------------------------------------------------
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <style type="text/css">
    <!--
    td { font-size: 9pt}
    a { color: #000000; text-decoration: none}
    a:hover { text-decoration: underline}
    .tx { height: 16px; width: 30px; border-color: black black #000000; border-top-width: 0px;
    border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; font-size: 9pt;
    background-color: #eeeeee; color: #0000FF}
    .bt { font-size: 9pt; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px;
    border-left-width: 0px; height: 16px; width: 80px; background-color: #eeeeee; cursor: hand}
    .tx1 { height: 20px; width: 30px; font-size: 9pt; border: 1px solid; border-color: black black
    #000000; color: #0000FF}
    -->
    </style>
    </head>
    <body bgcolor="#FFFFFF" text="#000000">
    <form name="form1" method="post" action="process.asp" enctype="multipart/form-data" >
    <table width="71%" border="1" cellspacing="0" cellpadding="5" align="center"
    bordercolordark="#CCCCCC" bordercolorlight="#000000">
    <tr bgcolor="#CCCCCC">
    <td height="22" align="left" valign="middle" bgcolor="#CCCCCC"> Sobina
    的圖文上傳界面</td>
    </tr>
    <tr align="left" valign="middle" bgcolor="#eeeeee">
    <td bgcolor="#eeeeee"> <br>
    </td>
    </tr>
    <tr align="center" valign="middle">
    <td align="left" id="upid" height="122">
    <p>圖象路徑:
    <input type="file" name="img" style="width:400" class="tx1" value="">
    </p>
    <p>圖象說明:
    <input type="text" name="imginfo">
    </p>
    </td>
    </tr>
    <tr align="center" valign="middle" bgcolor="#eeeeee">
    <td bgcolor="#eeeeee" height="2">
    <input type="submit" name="Submit" value="· 提交 ·" class="bt">
    <input type="reset" name="Submit2" value="· 重置 ·" class="bt">
    </td>
    </tr>
    </table>
    </form>
    </body>
    </html>
    ------------------------------------------------------------------------
    process.asp
    ------------------------------------------------------------------------
    <!--#include file="../bin/strCnn.asp"-->
    <%
    response.expires=0
    '目的:將二進制字符轉換成普通字符
    Function bin2str(binstr)
    Dim varlen,clow,ccc,skipflag
    skipflag=0
    ccc = ""
    varlen=LenB(binstr)
    For i=1 To varlen
    If skipflag=0 Then
    clow = MidB(binstr,i,1)
    If AscB(clow) > 127 Then
    ccc =ccc amp; Chr(AscW(MidB(binstr,i+1,1) amp; clow))
    skipflag=1
    Else
    ccc = ccc amp; Chr(AscB(clow))
    End If
    Else
    skipflag=0
    End If
    Next
    bin2str = ccc
    End Function
    '目的:把表單中的圖象數據分離出來
    '其中參數formsize為表單數據大小,formdata為表單的總數據
    Function ImageUp(formsize,formdata)
    bncrlf=chrb(13) amp; chrb(10)
    divider=leftb(formdata,instrb(formdata,bncrlf)-1) 'formdata第一個bncrlf左邊的數據
    datastart=instrb(formdata,bncrlf amp; bncrlf)+4 '兩個bncrlf右邊的數據的起始位
    dataend=instrb(datastart+1,formdata,divider)-datastart
    Imageup=midb(formdata,datastart,dataend)
    End Function
    '目的:把表單中的變量值取出
    '其中參數varName為要尋找的字段變量,strTXT為已從圖象中分離出來的的所有文本
    Function findVar(varName,strTxt)
    startPos=1
    strLen=len(varName)+2
    '表單中可能有多個同名變量(用在有主表與明細表中的數據更新中)
    for i=1 to len(strTXT)
    varStart=instr(startPos,strTXT,varName)+strLen+3
    varEnd=instr(varStart,strTXT,"--")-2
    varValLen=varEnd-varStart

    inVar=mid(strTXT,varStart,varValLen)
    findVar=findVar amp; inVar

    startPos=instr(varStart,strTXT,varName)
    if startPos=0 then exit for '如果找不到則退出循環
    findVar=findVar amp; "," ' 以","作為多個同名變量值間的分隔符,實際上本例倒不需要
    next
    End function

    FormSize = Request.TotalBytes
    FormData = Request.BinaryRead( FormSize )
    Image = ImageUp(FormSize,Formdata)
    '以下兩步不能省略,否則取不出文字
    strTXT=mid(formdata,instr(formdata,image)+len(image)+1) '取出文字
    strTXT=bin2str(strTXT) '二進制轉換成普通文字
    imginfo=findVar("imginfo",strTXT) '相當于request.form("imginfo")
    'MyArray = Split(imginfo, ",", -1, 1) '分離從imginfo返回的多個值,在本例子中不用
    Application.Lock
    set objCnn=Server.CreateObject("ADODB.Connection")
    objCnn.Open strCnn
    set rec=Server.CreateObject("ADODB.Recordset")
    rec.Open "imgtest",objCnn,1,3
    rec.addnew '如果你只想更新一個記錄,則可使這句失效
    rec("imginfo")=imginfo
    if Len(Image)>1 then
    rec("img").Appendchunk Image '把圖象寫入數據庫
    end if
    rec.update
    rec.close:set rec=nothing
    set objCnn=Nothing
    Application.Unlock
    '輸出圖象說明和圖象
    response.write imginfo
    response.write "<img src='showimg.asp?imginfo=" amp; imginfo amp; "' boder=0>"
    %>
    -----------------------------------------------------------------------
    showimg.asp
    -----------------------------------------------------------------------
    <!--#include file="../bin/strCnn.asp"-->
    <%
    response.expires=0
    response.buffer=true
    response.clear
    Response.ContentType = "image/*"
    set objCnn=server.CreateObject("ADODB.connection")
    objCnn.Open strCnn
    strsql="SELECT * FROM imgtest where imginfo='" amp; Request.QueryString("imginfo") amp; "'"
    set rec=objCnn.Execute(strsql)
    Response.BinaryWrite rec("img")
    rec.close:set rec=nothing
    set objCnn=nothing
    %>

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>