FTP上传出现的问题,高手们来看看
程序代码:
'FTP上传程序 '我的步骤,不是全部代码,只写重要的: 'InternetOpen打开一个会话,成功 FTPSession = InternetOpen(CurrentUser.StaffID, INTERNET_OPEN_TYPE_DIRECT, "", "", INTERNET_FLAG_NO_CACHE_WRITE) 'InternetConnect,打开一个连接,成功 FTPServer = InternetConnect(FTPSession, .FTPServer, .FTPPort, .FTPUserName, .FTPPassWord, INTERNET_SERVICE_FTP, INTERNET_FLAG_EXISTING_CONNECT, &O0) '创建一个文件,成功 HFile = FtpOpenFile(FTPServer, "/" & .WorkPath & "/" & UpLoadFileName, GENERIC_WRITE, FTP_TRANSFER_TYPE_BINARY, &O0) '下面开始往创建的文件中写数据,问题所在 '用到InternetWriteFile函数,(不用FtpPutFile,因为大文件或网速慢会拖死系统)这个函数是这样声明的: 'Declare Sub InternetWriteFile Lib "wininet.dll" (ByRef hFile As Long, lpBuffer As Any, ByVal dwNumberOfBytesToWrite As Long, ByRef lpdwNumberOfBytesWritten As Long) '其中的lpBuffer是要传入的数据,我把any改成String类型,改成Byte就出错 '定义上传缓冲 dim sBuffer as String *1024 '问题也就在这儿了,用String类型读写二进制数据总是有问题 应该用Byte才行的,可一改成byte类型就报错,说是dll不允许这样做,无奈 要怎样用String类型读写Byte类型数据呢?