文件上传没有用什么压缩,直接在客户端将图片文件流化以后上传。
服务器端代码:
Public Function UploadImage(ByVal imgBytes() As Byte, ByVal filename As String, ByVal sessionID As String, ByVal imagedescription As String) As 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来调用。
服务器端代码:
Public Function UploadImage(ByVal imgBytes() As Byte, ByVal filename As String, ByVal sessionID As String, ByVal imagedescription As String) As 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来调用。

浙公网安备 33010602011771号