ftpputfile函数 参数是线程安全的吗

本帖子已过去太久远了,不再提供回复功能。本问题第1个回答
如需要阅读该回复,请登录或注册CSDN!
相关文章:
上一篇文章:下一篇文章:
最新添加资讯
24小时热门资讯
Copyright © 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号有关FTP传输中 putfile()的有关问题? - VC/MFC当前位置:& &&&有关FTP传输中 putfile()的有关问题?有关FTP传输中 putfile()的有关问题?&&网友分享于:&&浏览:276次有关FTP传输中 putfile()的问题??描述: &
本人写了个ftp传输的CS程序; &
在使用putfile()函数,如果给的文件名过长(达到230个字节的),则就会出现传输失败。 &
putfile 返回12031
的错误。 &
如果文件名的长度为200个字节一下就可以传输成功。------解决方案--------------------
没看到有说文件名长度有限制的,你的代码发出来看看吧
------解决方案--------------------
经验分享?
------解决方案--------------------
字符串过长导致问题这是有可能的问题时你有必要用那么长的文件名么而且一般操作Ftp还是建议通过socket直接连ftp服务器
------解决方案--------------------
直接在服务器上能建立那么长的名字的文件吗?
------解决方案--------------------
findfile 这个函数的参数是有字节数限制的,应该是260 个字节;
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有ftpputfile的api上传,为什么不能覆盖上传呢?
ftpputfile的api上传,为什么不能覆盖上传呢?
Option ExplicitPublic dwType As LongPublic hOpen As Long'用InternetOpen()函数建立Internet对话后返回的句柄Public hConnection As Long'用InternetConnect()函数建立FTP连接后返回的句柄Dim ret As LongDim start As LongPublic iniFileName As StringConst BufSize = 10240Dim buf As String * BufSizePublic Const PROCESS_QUERY_INFORMATION = &H400Public Const INFINITE = -1&'连接Internet服务的常数Public Const INTERNET_SERVICE_FTP = 1Public Const INTERNET_SERVICE_GOPHER = 2Public Const INTERNET_SERVICE_HTTP = 3'与ftp服务器之间的文件传输采取ascii(文本)方式Public Const FTP_TRANSFER_TYPE_ASCII = &H1'与ftp服务器之间的文件传输采取binary(二进制)方式Public Const FTP_TRANSFER_TYPE_BINARY = &H2'直接连接InternetPublic Const INTERNET_OPEN_TYPE_DIRECT = 1Private Const INTERNET_FLAG_PASSIVE = &H8000000'与ftp服务器之间的文件传输采取ascii(文本)方式'FTP协议服务器的端口号为21Private Const INTERNET_DEFAULT_FTP_PORT = 21 &'上传函数&
&Private 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 &Private Declare Function GetPrivateProfileInt Lib &kernel32& Alias &GetPrivateProfileIntA& (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As LongPrivate Declare Function GetPrivateProfileSection Lib &kernel32& Alias &GetPrivateProfileSectionA& (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As LongPrivate Declare Function GetPrivateProfileString Lib &kernel32& Alias &GetPrivateProfileStringA& (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As LongPrivate Declare Function WritePrivateProfileSection Lib &kernel32& Alias &WritePrivateProfileSectionA& (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As LongPrivate Declare Function WritePrivateProfileString Lib &kernel32& Alias &WritePrivateProfileStringA& (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long'连接服务器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'sAgent--要调用internet对话的应用程序名'lAccessType--请求的访问的类型,包括:'INTERNET_OPEN_TYPE_PRECONFIG---预配置(缺省)'INTERNET_OPEN_TYPE_DIRECT--直接指向internet'INTERNET_OPEN_TYPE_PROXY--通过代理服务器连接'sProxyName--如果lAccessType被设置为INTERNET_OPEN_TYPE_PROXY,该参数为'代理服务器的名字'sProxyBypass--包含一系列代理服务器地址的字符串'lFlags--会话的选项,可包括下列值:'INTERNET_FLAG_DONT_CACHE--不对数据进行本地缓冲或通过网关服务器缓冲'INTERNET_FLAG_ASYNC--当操作完成时,将同INTERNET_STATUS_REQUEST_COMPLETE'一起进行一个状态回调'INTERNET_FLAG_OFFLINE--只通过永久缓冲进行下载操作'改变FTP服务器的当前目录。Public Declare Function FtpSetCurrentDirectory Lib &wininet.dll& Alias &FtpSetCurrentDirectoryA& _ &
(ByVal hFtpSession As Long, ByVal lpszDirectory As String) As Boolean'lpszDirectory--包含要到达的目录名。可以是相对的或绝对的路径。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'hInternetSession--函数InternetOpen()打开Internet对话返回的值'sServerName--要连接的服务器的名称或IP'nServerPort--该连接的Internet端口'sUsername--登录的用户帐号'sPassword--登录的口令'lService--要连接的服务器类型(这里是连接FTP服务器,连接的类型为常数INTERNET_SERVICE_FTP)'关闭Internet连接Public Declare Function InternetCloseHandle Lib &wininet.dll& _(ByVal hInet As Long) As IntegerPublic 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'lpszLocalFile--要发送的文件名'lpszRemoteFile--在FTP服务器上要创建的文件名'dwFlags--文件的传输方式'dwContext--要取回的文件的描述表标识符Public Declare Function OpenProcess Lib &kernel32& (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As LongPublic Declare Function CloseHandle Lib &kernel32& (ByVal hObject As Long) As LongPrivate Declare Function WaitForSingleObject Lib &kernel32& (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As LongPublic Declare Function GetExitCodeProcess Lib &kernel32& (ByVal hProcess As Long, lpExitCode As Long) As Long不知道为什么呢,能解决覆盖上传吗?
昵称: cjr7365 &时间:
昵称: patrickkong &时间:
昵称: Veron_04 &时间:
昵称: lyserver &时间:

我要回帖

更多关于 ftp多线程下载 的文章

 

随机推荐