technofantasy

博客园 首页 新随笔 联系 订阅 管理
文件上传没有用什么压缩,直接在客户端将图片文件流化以后上传。
服务器端代码:

    Public Function UploadImage(ByVal imgBytes() As ByteByVal filename As StringByVal sessionID As StringByVal imagedescription As StringAs Integer
        
If (IsSessionIDExists(sessionID)) Then
            
Dim strExt As String = ""
            
Dim strSplit() As String

            strSplit 
= filename.Split(".")
            strExt 
= strSplit(strSplit.GetUpperBound(0))

            
'生成文件Guid
            Dim strGUID As String = CreateImgFileName(filename, sessionID)
            
Dim realFileName As String = strGUID & "." & strExt
            
Dim fs As FileStream = New FileStream(Server.MapPath("./Images/" & realFileName), FileMode.CreateNew)
            fs.Write(imgBytes, 
0, imgBytes.Length)
            fs.Flush()
            fs.Close()

            
'将文件信息写入数据库
            SaveImageName(realFileName, sessionID, imagedescription, filename, strGUID)
            
Return 0
        
Else
            
Return 1
        
End If

    
End Function


客户端的调用:
        Dim imgsvc As localhost.ImageService

        imgsvc 
= New localhost.ImageService
        imgsvc.UploadImage(ReadFile(
"c:\\pop3_1.bmp"), "pop3_1.bmp", strSession, "This is a test")

考虑到客户端(手机)的文件一般都是压缩过的jpg文件,因此没有考虑客户端压缩了,测试效果还不错。1M以下的文件
基本没有延迟。下一步打算写一个ActiveX控件,嵌在IE中,可以从客户端上传文件的。也是直接通过WebService来调用。
posted on 2006-06-30 18:58  陈锐  阅读(220)  评论(0)    收藏  举报