| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 630 人关注过本帖
标题:怎样实现文件的上传和下载???
只看楼主 加入收藏
niuqinrong
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2008-4-3
结帖率:100%
收藏
 问题点数:0 回复次数:2 
怎样实现文件的上传和下载???
在ASP中怎样实现文件的上传和下载?大概思路是怎样的?谁有这方面的组件啊,有的话发一个到我邮箱,谢谢!
我的邮箱:niuqinrong86@
搜索更多相关主题的帖子: 文件 ASP 组件 
2008-04-27 18:10
zfjyyzycl
Rank: 2
等 级:论坛游民
帖 子:239
专家分:10
注 册:2006-4-15
收藏
得分:0 
上传的话 你可以在百度搜 有很多
下载 就不说
2008-04-27 22:08
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5810
专家分:118
注 册:2005-4-7
收藏
得分:0 
a=Request.TotalBytes

if a>0 Then
    
    Set c=Createobject("adodb.stream")
    c.Type=1
    c.Open
    c.Write Request.BinaryRead(a)
    c.Position=0

    d=c.Read
    e=chrB(13)&chrB(10)
    f=Instrb(d,e)
    g=Instrb(f+1,d,e)
    set h=Createobject("adodb.stream")
    h.Type=1
    h.Open
    c.Position=f+1
    c.Copyto h,g-f-3
    h.Position=0
    h.type=2
    h.CharSet="gb2312"
    i=h.Readtext
    h.close
    j=mid(i,InstrRev(i,"\")+1,g)
    if lcase(right(j,len(j)-instr(j,".")))<>"jpg" and lcase(right(j,len(j)-instr(j,".")))<>"gif" then        
        response.Write("<script language=javascript>alert('只允许上传jpg、gif类型的文件!')</script>")    
        response.Write("<script language=javascript>window.location='upload.asp?h_id="&h_id&"'</script>")
        response.End()
    end if
    function newfilename()
        if len(month(now()))=1 then
            ms="0"&month(now())
        else
            ms=month(now())
        end if
        
        ys=right(year(now()),2)
        if len(day(now()))=1 then
            ds="0"&day(now())
        else
            ds=day(now())
        end if
        if len(hour(now()))=1 then
            hs="0"&hour(now())
        else
            hs=hour(now())
        end if
        if len(Minute(now()))=1 then
            mms="0"&Minute(now())
        else
            mms=Minute(now())
        end if
        if len(second(now()))=1 then
            ss="0"&second(now())
        else
            ss=second(now())
        end if        
        Randomize    '必须要有这个作为随机数的种子
        r=int(rnd*10)
        newfilename=ys&ms&ds&hs&mms&ss&r
    end function
    j=newfilename&right(j,len(j)-instr(j,".")+1)
    set fso=server.createobject("scripting.filesystemobject")
    if  fso.FileExists(server.mappath(j)) then            '判断文件是不是存在
        i=1
        msg=true
        do while msg
        m=left(j,instr(j,".")-1)&"_"&i&right(j,len(j)-instr(j,".")+1) '用存在的文件名加_的形式形成新文件名
        'response.Write(m)
          if  not fso.FileExists(server.mappath(m)) then
             j=m
             msg=false
          end if
        i=i+1
        loop
    end if
    set fso=nothing
    k=Instrb(d,e&e)+4
    l=Instrb(k+1,d,leftB(d,f-1))-k-2
    h.Type=1
    h.Open
    c.Position=k-1
    c.CopyTo h,l
    h.SaveToFile server.mappath("../upload_img/"&j),2    
    pic_paths="../upload_img/"&j    
    response.Write("<script language=javascript>pass_value('"&request.QueryString("h_id")&"','"&pic_paths&"')</script>")
    response.End()
end if
%>
<body topmargin="0" leftmargin="0">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<form method="post" enctype="multipart/form-data">
  <tr>
    <td><input type="file" name="n" />
<input type="submit" value="上传" /></td>
  </tr>
 </form>
</table>

楼主测试一下,顺便说一下,文件上传同时更新数据库,很难在同一文件中操作,需要的话可以用FRAME包含上传文件页,然后通过变量,比如SESSION等传递上传结果

2008-04-27 23:50
快速回复:怎样实现文件的上传和下载???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022712 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved