回 帖 发 新 帖 刷新版面

主题:高手进来帮我解释一句话

Set Upload = Server.CreateObject("Persits.Upload")'创建对象实例

    ' 设置图片上传大小限制100000 byte
    Upload.SetMaxSize 100000, True
    ' 设置图片上传大小限制100000
    Upload.SetMaxSize 100000, True
    ' 保存在内存中,省略路径参数    
    Count = Upload.Save
    ' 获得图片对象
    Set File = Upload.Files("THEFILE")
    ' 创建ADO连接字符串
        Connect = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath(".\aspupload.mdb")
        ' 使用ADO Recordset 对象
        Set rs = Server.CreateObject("adodb.recordset")

        ' Optional: check whether this file already exists using MD5 hash
        Hash = File.MD5Hash
        rs.Open "SELECT * from MYIMAGES WHERE Hash='" & Hash & "'", Connect, 2, 3
        If Not rs.EOF Then
            Response.Write "This file already exists in the database."
            Response.End
        End If
        rs.Close

        ' Reopen recordset to insert file
        rs.Open "MYIMAGES", Connect, 2, 3

        rs.AddNew                        '添加记录
        rs("image_blob") = File.Binary  '获取图片二进制数据
        rs("filename") = File.FileName  '获取上传图片的文件名
        rs("filesize") = File.Size      '获取上传图片的文件大小
        rs("hash") = Hash
        rs("description") = Upload.Form("DESCR") '获取上传描述信息
        rs.Update
        rs.Close
        set rs=Nothing        
        Response.Write "File saved."


上面是用upload组件上传图片的

就是这句话  Hash = File.MD5Hash

没有引用任何文件怎么可以直接用啊?

知道是加密的

回复列表 (共6个回复)

沙发

Set File = Upload.Files("THEFILE")
这样就已经引用了阿

板凳

能不能讲清楚点啊我还是不明白阿

hash 是数据库中的一字段阿

我说的是MD5Hash从哪来的阿

莫非可以直接用?

不是要引用<!--include file=md5.asp-->才可以用的吗?




3 楼

因该是把<!--include file=md5.asp-->的引用类化成对象属性了。
所以你可以直接调用,而页面是看不到<!--include file=md5.asp-->这样的属性了。

4 楼

是的啊

可是它就是没有引用啊

而且程序完全正常

5 楼

纠正一句不是没有引用,是引用成了对象一个属性了。

6 楼

不懂

能不能在说清楚点啊

我来回复

您尚未登录,请登录后再回复。点此登录或注册