在vb中用winsock写个传送大文件(500M)的组件,在asp中调用

avonqin 2005-01-16 09:03:51
在vb中用winsock写个传送大文件(500M)的组件,在asp中调用,不知道大家有没参考例子?

500分送上
...全文
473 52 打赏 收藏 转发到动态 举报
写回复
用AI写文章
52 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinahuman 2005-01-18
  • 打赏
  • 举报
回复
avonqin(不再看连续剧) 我的组件上传的时候是比较快的,但是在文件从客户端发送到服务器完成的后,要花比较长的时间去解析它,特别是大文件的时候,还要作一次本机拷贝,上传的时间等于:接收客户端的数据的时间+分析文件的时间+拷贝文件的时间。所以六百M要用5分钟。现在在想着怎么样把最后的那个时间省掉,这样就可以把时间省到三分钟左右。如果是在百M以下,这个时间就比较短了。
  • 打赏
  • 举报
回复
我不是又给了一个网址么??用的是httpsendrequest

可以参考我的blog,今天刚写的 blog.csdn.net/liuxiaoyi666最后的一篇,那是用VC写的,800M文件很稳定,我还没有试验
jimlxk 2005-01-18
  • 打赏
  • 举报
回复
又比较了一下lyfload和ironsoft这个组件,还发现一个问题
同样的网络环境下上传一个4M的文件,使用lyfupload上传服务器cpu在70%以上,而用ironsoft服务器cpu不到5%
newhandtoo 2005-01-18
  • 打赏
  • 举报
回复
abc不知道能不能上传这么大的文件
jimlxk 2005-01-18
  • 打赏
  • 举报
回复
这个对我来说已经不错啦,很稳定,至少解决了大文件传输问题!至于传输的时间只能取决于用户的实际网速,这个就不赖我拉.:)

在此感谢为我们提供好东东的铁匠!
avonqin 2005-01-18
  • 打赏
  • 举报
回复
我是在局域网使用的

我的机器够破了,600m 5分钟。

局域网还没测试。。。
jimlxk 2005-01-18
  • 打赏
  • 举报
回复
远程测试了一下,120M用了40分钟
客户机是adsl拨号上网(说是1M),服务器志强2.4G,1G内存
根据进度显示,上传的速度在50k到51k左右
avonqin 2005-01-18
  • 打赏
  • 举报
回复
本机测试了 chinahuman(铁匠) 的组件,600m耗时5分钟

多谢了

liuxiaoyi666(兔子)的不知道怎样?我不懂得怎样调用。。。。。惭愧!!
jimlxk 2005-01-18
  • 打赏
  • 举报
回复
我本机测试了铁匠的组件,好像没那么好
我试着传的120M 的rm文件,只到一半就用了10分钟

我不知道怎么和他们说的差距那么大,是我的机器破吗?
avonqin 2005-01-18
  • 打赏
  • 举报
回复
啊?

liuxiaoyi666(兔子),原谅小弟的不才,因为我确实不知道怎么用你的程序。。。。

你能不能把它写成组件,然后给我们注册后调用呢?
avonqin 2005-01-18
  • 打赏
  • 举报
回复
好!
eyou163 2005-01-18
  • 打赏
  • 举报
回复
是,我感觉到了,从显示来看,很早就上传完了

但是,过了好久,才算完全完成任务。。。


呵呵,我不用aspupload了,因为我觉得它不够稳定呢。。。

支持 chinahuman(铁匠) !

努力!打造自己的完美组件。。。

我是杨威利 2005-01-17
  • 打赏
  • 举报
回复
兔子也来了,呵呵。估计还会有高手来。
关注中......
xinyu1225 2005-01-17
  • 打赏
  • 举报
回复
gz
shan1119 2005-01-17
  • 打赏
  • 举报
回复
learning...
  • 打赏
  • 举报
回复
Option Explicit

Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" _
(ByVal sAgent As String, ByVal LAccessType As Long, ByVal sProxyName As String, _
ByVal SProxyBypass As String, ByVal lFlags As Long) As Long

Public Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" _
(ByVal hInternetSession As Long, ByVal sServerName As String, _
ByVal nServerPort As Integer, ByVal sUsername As String, _
ByVal sPassword As String, ByVal lService As Long, _
ByVal lFlags As Long, ByVal lContext As Long) As Long

Public Declare Function FtpGetFile Lib "wininet.dll" Alias "FtpGetFileA" _
(ByVal hFtpSession As Long, ByVal lpszRemoteFile As String, _
ByVal lpszNewFile As String, ByVal fFailIfExists As Boolean, _
ByVal dwFlagsAndAttributes As Long, ByVal dwFlags As Long, _
ByVal dwContext As Long) As Boolean

Public Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" _
(ByVal hFtpSession As Long, ByVal lpszLocalFile As String, _
ByVal lpszRemoteFile As String, ByVal dwFlags As Long, _
ByVal dwContext As Long) As Boolean

Public Declare Function FtpDeleteFile Lib "wininet.dll" Alias "FtpDeleteFileA" _
(ByVal hFtpSession As Long, ByVal lpszFileName As String) As Boolean

Public Declare Function FtpRenameFile Lib "wininet.dll" Alias "FtpRenameFileA" _
(ByVal hFtpSession As Long, ByVal lpszExsiting As String, ByVal lpszNew As String) As Boolean

Public Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer

Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
"GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type

Private Sub Timer1_Timer()
lnginet = InternetOpen(vbNullString, INTERNET_OPEN_TYPE_PRECONFIG, _
vbNullString, vbNullString, 0&)
If lnginet Then
lnginetconn = InternetConnect(lnginet, "210.51.180.101", 0, _
"用户名", "密码", 1, 0, 0)
If lnginetconn Then
blnrc = FtpPutFile(lnginetconn, "你的具体上传的东东", "网站的FTP的文件夹", 0, 0, 1, 0)
If blnrc Then
MsgBox "download ok!!!"
End If
InternetCloseHandle lnginetconn
InternetCloseHandle lnginet
Else
a = 1
DoEvents
End If
Else
a = 2
DoEvents

End If
End Sub
jimlxk 2005-01-17
  • 打赏
  • 举报
回复
gz
zmhqyw 2005-01-17
  • 打赏
  • 举报
回复
其实你可以使用aspupload组件。文件大一点也没有问题。

速度很快,功能也不错。我现在传大文件就是使用这个。
avonqin 2005-01-17
  • 打赏
  • 举报
回复
Newrocky(罗罗),我看了你的blog,能否说说客户端和服务器端都要设置和安装些什么?你的代码要怎样修改才能用?
aoeiuvcom 2005-01-17
  • 打赏
  • 举报
回复
借宝地问个问题:ASP代码是否在客户端数据提交完毕后才运行?

如果是,500M的要“暂时”保存,服务器吃得消?
加载更多回复(32)

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧