vb如何把一个图片发送到一网站的指定目录下,并且,在本地用vb可以查看上传到网站上的图片,不知道可不可以实现,请高手指点,小弟急用,谢谢了!
(有网站的操作权,但没有FSO)
(有网站的操作权,但没有FSO)
解决方案 »
- vb读扇区问题
- 在VB窗体中如何接收键盘事件?
- VB中的时钟控件Timer,我想实现倒计时,可倒计时是从窗体一加载就开始了,可我想点击Commond之后再进行倒计时,如何实现?
- 请大家帮忙解决一个头痛的问题
- PictureBox 可以实现底色透明吗?
- 在局域网中如何实现大数据量数据(如语音数据)的广播通讯,最好能提供VB源代码。高分相送
- command控件上的字的颜色怎么改
- 有关数组的问题,请大侠们教我,谢谢!
- 怎么在Text中显示"&"字母?(不用代码)
- 发布数据库(使用access)程序,一定要安装mdac吗?使用odbc,ado,dao,rdo,Jet,ole,好象全要用mdac,可是这个mdac有7m。大家的程序是怎么发布的?
- 关于TEXTBOX控件的一个问题。
- 求 VB 做的软件,远程连接SQL2000的可行性方案!
Execute 方法具有四个参数:url、operation、data 和 requestHeaders。FTP 操作只用到了 operation 参数和 url 参数,其中后者是可选的。例如,要从远程计算机中得到一个文件,可用下面的代码:Inet1.Execute "FTP://ftp.microsoft.com", _
"GET disclaimer.txt C:\Temp\Disclaimer.txt"如果正在用 FTP 从匿名 FTP 服务器中获取文件,就应熟悉在服务器目录树中漫游的特定命令,以及将其中文件获取到本地的硬盘中的命令。例如,要用 FPT 协议改变目录,应使用带有希望改变到的目录路径的“CD”命令。对绝大多数通用操作,如将文件传入服务器,以及从服务器获取文件,Internet 传输控件在 Execute 方法中使用了(与 FTP)相同或相近的命令。例如,下面的代码将“CD”命令作为 Execute 方法的参数以改变路径:'txtURL 文本框包含了要打开的路径。
'txtRemotePath 文本框包含了要改变到的路径。
Inet1.Execute txtURL.Text, "CD " & txtRemotePath.Text 注意 在 Execute 方法中使用 FTP 命令时,没有用到 data 和 requestHeaders 参数。所有的操作和它们的参数都在 operation 参数中作为字符串进行传递;参数之间用空格进行分隔。在下面的描述中,不要把“file1”和“file2”项与 data 和 requestHeaders 参数搞混。FTP 操作的语法是:operationName file1 file2例如,要获取文件,在下面的代码中包含了操作的名称 (“获取”),以及该操作所需的两个文件名:'得到名为“Disclaimer.txt”的文件,并将其复制到
' C:\Temp\Disclaimer.txt。
Inet1.Execute, _
"GET Disclaimer.txt C:\Temp\Disclaimer.txt"下表列出了该控件支持的 FTP 命令:操作 描述 示例
CD file1 改变目录。改变到由 file1 指定的目录中。 Execute , "CD docs\mydocs"
CDUP 改变到父目录。功能与“CD ..”相同。 Execute , "CDUP"
DELETE file1 删除由 file1 指定的文件。 Execute , "DELETE discard.txt"
DIR [file1] 在由 file1 指定的目录中查找。如果没有指定 file1 目录,则查找当前工作目录。使用 GetChunk 方法返回数据。 Execute , "DIR /mydocs"
GET file1 file2 获取由 file1 指定的远程文件,并创建由 file2 指定的新的本地文件。 Execute , _
"GET getme.txt C:\gotme.txt"
MKDIR file1 创建由 file1 指定的目录。是否能够成功地执行,取决于用户在远程主机上的权限。 Execute , "MKDIR /myDir"
PUT file1 file2 将由 file1 指定的本地文件,复制到由 file2 指定的远程主机文件中。 Execute , _
"PUT C:\putme.txt /putme.txt"
PWD 打印工作目录。返回当前目录的名称。用 GetChunk 方法返回数据。 Execute , "PWD"
QUIT 结束当前连接。 Execute , "QUIT"
RECV file1 file2 与 GET 相同。 Execute , _
"RECV getme.txt C:\gotme.txt"
RENAME file1 file2 文件重命名。是否能够成功地执行,取决于用户在远程主机上的权限。 Execute ,
"RENAME old.txt new.txt"RMDIR file1 删除目录。是否能够成功地执行,取决于用户在远程主机上的权限。 Execute , "RMDIR oldDir"
SEND file1 将文件复制到 FTP 站点。(与 PUT 相同) Execute , _
"SEND C:\putme.txt /putme.txt"
SIZE file1 返回由 file1 指定文件的大小。 Execute "SIZE /largefile.txt"
重点 如果代理服务器是 CERN 代理服务器,就不允许使用直接的 FTP 连接(使用 Execute 方法)。在这种情况下,要获得文件,则需使用带 Open、Put 和 Close 语句的 OpenURL 方法,就象前面“用 OpenURL 方法保存到文件”提到的那样。还可以用 OpenURL 方法得到目录列表,即将目标目录作为 URL,并调用该方法。
(ByVal sAgent As String, ByVal LAccessType As Long, ByVal sProxyName As String, _
ByVal SProxyBypass As String, ByVal lFlags As Long) As LongPublic 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 LongPublic 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 BooleanPublic 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 BooleanPublic 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 IntegerPublic Declare Function FtpFindFirstFile Lib "wininet.dll" Alias "FtpFindFirstFileA" _
(ByVal hFtpSession As Long, ByVal lpszSearchFile As String, _
lpFindFileData As WIN32_FIND_DATA, ByVal dwFlags As Long, _
ByVal dwContent As Long) As Long
Public Declare Function InternetFindNextFile Lib "wininet.dll" Alias "InternetFindNextFileA" _
(ByVal hFind As Long, lpvFndData As WIN32_FIND_DATA) As LongPublic Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Public Type WIN32_FIND_DATA
dwFilAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * 260
cAlternate As String * 14
End Type
Public 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'//////////////////////////
'
'上传程序 MyFtp
'ClientAdd:本地要发送的文件目录;ServerAdd: 网站目录
'/////////////////////////
Public Sub MyFtp(ByVal ClientAdd As String, ByVal ServerAdd As String)
On Error Resume Next
lnginet = InternetOpen(vbNullString, INTERNET_OPEN_TYPE_PRECONFIG, _
vbNullString, vbNullString, 0&)
If lnginet Then
lnginetconn = InternetConnect(lnginet, "61.129.32.7", 0, _
"zj01003321", "s6p6e2z8", 1, 0, 0)
If lnginetconn Then
blnRC = FtpPutFile(lnginetconn, ClientAdd, ServerAdd, 0, 0)
If blnRC Then
MsgBox "图片上传成功!", vbOKOnly + vbInformation, "提示"
End If
InternetCloseHandle lnginetconn
InternetCloseHandle lnginet
Else
DoEvents
End If
Else
DoEvents
End If
InternetCloseHandle lngHINet
InternetCloseHandle lnginetconn
InternetCloseHandle lnginet
End Sub
"zj01003321", "s6p6e2z8", 1, 0, 0)
61.129.32.7 :目标网站
zj01003321:用户名
s6p6e2z8:密码
这个是什么东东啊?
提示“变量未定义”
Const INTERNET_OPEN_TYPE_DIRECT = 1 'direct to net
Const INTERNET_OPEN_TYPE_PROXY = 3 'via named proxy
Const INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY = 4 'prevent using java/script/INS
还有,如何下载。FtpGetFile怎么用啊,!谢谢各位!GO ON!
使用 Internet Transfer 控件文本传送协议(HyperText Transfer Protocol)(HTTP) 和文件传送协议(File Transfer Protocol) (FTP)。使用 Internet Transfer 控件可以通过 OpenURL 或 Execute 方法连接到任何使用这两个协议的站点并检索文件。在 FPT 协议中使用 Execute 方法
Execute 方法具有四个参数:url、operation、data 和 requestHeaders。FTP 操作只用到了 operation 参数和 url 参数,其中后者是可选的。例如,要从远程计算机中得到一个文件,可用下面的代码:Inet1.Execute "FTP://ftp.microsoft.com", _
"GET disclaimer.txt C:\Temp\Disclaimer.txt"如果正在用 FTP 从匿名 FTP 服务器中获取文件,就应熟悉在服务器目录树中漫游的特定命令,以及将其中文件获取到本地的硬盘中的命令。例如,要用 FPT 协议改变目录,应使用带有希望改变到的目录路径的“CD”命令。对绝大多数通用操作,如将文件传入服务器,以及从服务器获取文件,Internet 传输控件在 Execute 方法中使用了(与 FTP)相同或相近的命令。例如,下面的代码将“CD”命令作为 Execute 方法的参数以改变路径:'txtURL 文本框包含了要打开的路径。
'txtRemotePath 文本框包含了要改变到的路径。
Inet1.Execute txtURL.Text, "CD " & txtRemotePath.Text 注意 在 Execute 方法中使用 FTP 命令时,没有用到 data 和 requestHeaders 参数。所有的操作和它们的参数都在 operation 参数中作为字符串进行传递;参数之间用空格进行分隔。在下面的描述中,不要把“file1”和“file2”项与 data 和 requestHeaders 参数搞混。FTP 操作的语法是:operationName file1 file2例如,要获取文件,在下面的代码中包含了操作的名称 (“获取”),以及该操作所需的两个文件名:'得到名为“Disclaimer.txt”的文件,并将其复制到
' C:\Temp\Disclaimer.txt。
Inet1.Execute, _
"GET Disclaimer.txt C:\Temp\Disclaimer.txt"下表列出了该控件支持的 FTP 命令:操作 描述 示例
CD file1 改变目录。改变到由 file1 指定的目录中。 Execute , "CD docs\mydocs"
CDUP 改变到父目录。功能与“CD ..”相同。 Execute , "CDUP"
DELETE file1 删除由 file1 指定的文件。 Execute , "DELETE discard.txt"
DIR [file1] 在由 file1 指定的目录中查找。如果没有指定 file1 目录,则查找当前工作目录。使用 GetChunk 方法返回数据。 Execute , "DIR /mydocs"
GET file1 file2 获取由 file1 指定的远程文件,并创建由 file2 指定的新的本地文件。 Execute , _
"GET getme.txt C:\gotme.txt"
MKDIR file1 创建由 file1 指定的目录。是否能够成功地执行,取决于用户在远程主机上的权限。 Execute , "MKDIR /myDir"
PUT file1 file2 将由 file1 指定的本地文件,复制到由 file2 指定的远程主机文件中。 Execute , _
"PUT C:\putme.txt /putme.txt"
PWD 打印工作目录。返回当前目录的名称。用 GetChunk 方法返回数据。 Execute , "PWD"
QUIT 结束当前连接。 Execute , "QUIT"
RECV file1 file2 与 GET 相同。 Execute , _
"RECV getme.txt C:\gotme.txt"
RENAME file1 file2 文件重命名。是否能够成功地执行,取决于用户在远程主机上的权限。 Execute ,
"RENAME old.txt new.txt"RMDIR file1 删除目录。是否能够成功地执行,取决于用户在远程主机上的权限。 Execute , "RMDIR oldDir"
SEND file1 将文件复制到 FTP 站点。(与 PUT 相同) Execute , _
"SEND C:\putme.txt /putme.txt"
SIZE file1 返回由 file1 指定文件的大小。 Execute "SIZE /largefile.txt"
重点 如果代理服务器是 CERN 代理服务器,就不允许使用直接的 FTP 连接(使用 Execute 方法)。在这种情况下,要获得文件,则需使用带 Open、Put 和 Close 语句的 OpenURL 方法,就象前面“用 OpenURL 方法保存到文件”提到的那样。还可以用 OpenURL 方法得到目录列表,即将目标目录作为 URL,并调用该方法。
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 BooleanPublic 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 BooleanPublic 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 IntegerPublic Declare Function FtpFindFirstFile Lib "wininet.dll" Alias "FtpFindFirstFileA" _
(ByVal hFtpSession As Long, ByVal lpszSearchFile As String, _
lpFindFileData As WIN32_FIND_DATA, ByVal dwFlags As Long, _
ByVal dwContent As Long) As Long
Public Declare Function InternetFindNextFile Lib "wininet.dll" Alias "InternetFindNextFileA" _
(ByVal hFind As Long, lpvFndData As WIN32_FIND_DATA) As LongPublic Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Public Type WIN32_FIND_DATA
dwFilAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * 260
cAlternate As String * 14
End Type
Public 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'//////////////////////////
'
'上传程序 MyFtp
'ClientAdd:本地要发送的文件目录;ServerAdd: 网站目录
'/////////////////////////
Public Sub MyFtp(ByVal ClientAdd As String, ByVal ServerAdd As String)
On Error Resume Next
lnginet = InternetOpen(vbNullString, INTERNET_OPEN_TYPE_PRECONFIG, _
vbNullString, vbNullString, 0&)
If lnginet Then
lnginetconn = InternetConnect(lnginet, "61.129.32.7", 0, _
"zj01003321", "s6p6e2z8", 1, 0, 0)
If lnginetconn Then
blnRC = FtpPutFile(lnginetconn, ClientAdd, ServerAdd, 0, 0)
If blnRC Then
MsgBox "图片上传成功!", vbOKOnly + vbInformation, "提示"
End If
InternetCloseHandle lnginetconn
InternetCloseHandle lnginet
Else
DoEvents
End If