我是新手
因为网页方式上传不能控制file表单域的值,所以想请教vb控件是否能指定客户端的某一文件上传,如果可以,请给例子,谢谢!

解决方案 »

  1.   

    Option ExplicitPublic 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 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 IntegerDeclare 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 TypePrivate 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在web版帮别人写的,通常上很大的文件才有问题的,所以最好不要用http的方式,另外有可能是因为IIS 200K问题,这个可以在google中查看的