jscript没有这个功能啊!!!必须有服务器端的相应代码啊!

解决方案 »

  1.   

    你是指服务器端ASP环境下用javaScript吗?
    纯客户端,是不行的。
      

  2.   

    <upload.htm> 这是提供给客户端的上传界面
    <html> 
    <body> 
    <center> 
    <form name="mainForm" enctype="multipart/form-data" action="process.asp" method=post> 
    <input type=file name=mefile ><br> 
    <input type=submit name=ok value="OK"> 
     </form> 
    </center> 
    </body> 
    </html>
    说明:在form 中必须有enctype="multipart/form-data"的属性,否则,无法实现文件的上传。
    <process.asp>这是将浏览器传来的数据流进行处理,获得img的数据。
    <%
    Option Explicit
    Dim connGraph,rsTest,strConn,strType,nStart,nEnd
    Dim formsize,formdata,bncrif,length,divider,datastart,dataend,mydata
    Response.Buffer = True
    ‘对得到的数据进行处理
    formsize = Request.TotalBytes
    formdata = Request.BinaryRead(formsize)
    bncrif = ChrB(13) & ChrB(10)
    length = clng(instrb(1,formdata,bncrif))-1
    divider = LeftB(formdata,length)
    datastart = instrb(formdata,bncrif&bncrif)+4 ‘img的起始位置
    dataend = instrb(datastart+1,formdata,divider)-datastart ‘img的结束位置
    mydata = midb(formdata,datastart,dataend) ‘得到img 的数据‘Response.BinaryWrite  mydata
    数据库的连接
    Set connGraph = server.CreateObject ("ADODB.Connection")
    strConn =  "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" &_
    Server.MapPath ("FILETEST.mdb")
    connGraph.Open strConn
    插入数据库
    Set rsTest = Server.CreateObject ("ADODB.Recordset")
    rsTest.Open "select * from FILETEST where id is null",connGraph,1,3
    rsTest.AddNew
    rsTest("img").appendchunk mydata
    rsTest.Update 
    rsTest.Close
    set rsTest = nothing
    set connGraph = nothing
    %>
    说明:此处是以名为FILETEST.mdb的数据库为例。
    字段名称    类型    描述 
      id     自动编号   主键值 
    img       OLE对象   用来保存图片数据
    经过处理后的img已输入数据库中,下面要做的是将其显示于页面。
    <show.asp>这是img 的显示文件,红色语句应加以注意。<%@ Language=VBScript %>
    <!--#include file="ADOVBS.INC"-->
    <HTML>
    <HEAD>
    <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
    </HEAD>
    <BODY>
    <form action="show.asp" method=post><input type=textbox name=textbox1><input type=submit name =submit></form>
    <center>
    <%if Request.ServerVariables("CONTENT_LENGTH") <>0 then%> 
    <p><img src="showing.asp?id=<%=Request.Form("textbox1")%>"></p>
    <%end if%>
    </center>
    <P>&nbsp;</P>
    </BODY>
    </HTML><showing.asp>这是从数据库中读出img的asp
    <!--#include file="adovbs.inc"-->
    <% Set conn = Server.CreateObject ("ADODB.Connection")
    strConn =  "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" &_
    Server.MapPath ("FILETEST.mdb")
    conn.Open strConn
    Set rsTest = Server.CreateObject ("ADODB.Recordset")
    strSql = "select img from FILETEST where id ="& trim(request("id"))
    rsTest.Open strSql,conn,adOpenKeyset,adLockReadOnly,adCmdText
    Response.ContentType = "image/gif"Response.BinaryWrite rsTest("img").getChunk(7500000)
    rsTest.Close
    Set rsTest = nothing:Set conn = nothing%>
    说明:对于不同的BLOB需要变化的是Response.ContentType。而且,在页面传入的数据流中可以加以分析得到ContentType,可把它以存入数据库,由它来设定Response.ContentType即可。
      

  3.   

    补充一点:只用JScript是不可能做到文件上传的.