1

特定のクライアントからのエラーを管理するために、おそらく起動時に、アプリに現在のエラーログファイルを送信させることを考えています。

VB6 / XP環境でこれを達成するための最良の方法は何でしょうか?

電子メールは簡単かもしれませんが、それはあらゆる種類のアンチウイルス/ファイアウォール保護を解除する可能性があると思います。

Webサーバーに接続する方が良い場合があります。この場合、アプリは引き続きWindowsファイアウォールを開く必要がありますか?

4

1 に答える 1

0

私はXMLHTTP次のようなクライアント エラー ログをアップロードするために使用しています: http://wqweto.wordpress.com/2011/07/12/vb6-using-wininet-to-post-binary-file/

Private Sub pvPostFile(sUrl As String, sFileName As String, Optional ByVal bAsync As Boolean)
    Const STR_BOUNDARY  As String = "3fbd04f5-b1ed-4060-99b9-fca7ff59c113"
    Dim nFile           As Integer
    Dim baBuffer()      As Byte
    Dim sPostData       As String

    '--- read file
    nFile = FreeFile
    Open sFileName For Binary Access Read As nFile
    If LOF(nFile) > 0 Then
        ReDim baBuffer(0 To LOF(nFile) - 1) As Byte
        Get nFile, , baBuffer
        sPostData = StrConv(baBuffer, vbUnicode)
    End If
    Close nFile
    '--- prepare body
    sPostData = "--" & STR_BOUNDARY & vbCrLf & _
        "Content-Disposition: form-data; name=""uploadfile""; filename=""" & Mid$(sFileName, InStrRev(sFileName, "\") + 1) & """" & vbCrLf & _
        "Content-Type: application/octet-stream" & vbCrLf & vbCrLf & _
        sPostData & vbCrLf & _
        "--" & STR_BOUNDARY & "--"
    '--- post
    With CreateObject("Microsoft.XMLHTTP")
        .Open "POST", sUrl, bAsync
        .SetRequestHeader "Content-Type", "multipart/form-data; boundary=" & STR_BOUNDARY
        .Send pvToByteArray(sPostData)
    End With
End Sub

Private Function pvToByteArray(sText As String) As Byte()
    pvToByteArray = StrConv(sText, vbFromUnicode)
End Function
于 2012-05-02T19:57:24.163 に答える