| 
    
     |  | はじめまして。 WEBDAVサーバにファイルをPUTする方法がうまくいかず困っています。
 通信にはInetコントロールを使用しており、以下の様にして送信しております。
 
 ------------------------------------------------------
 Private Sub CommandButton1_Click()
 Const FilePath = "C:\"
 Const FileName = "test.zip"
 
 Dim lngFileno As Long
 Dim b() As Byte
 Dim Inet1 As New Inet
 Dim strPutData As String
 
 ' ファイルを読み込む
 lngFileno = FreeFile
 Open (FilePath & FileName) For Binary Access Read As #lngFileno
 ReDim b(LOF(lngFileno))
 Get #lngFileno, , b
 Close #lngFileno
 
 ' バイト配列として読み込んだデータを
 ' 送信可能なStringに変換する
 strPutData = b
 strPutData = StrConv(strPutData, vbUnicode)
 
 ' 送信
 Inet1.URL = "http://localhost:8080/webdav/" & FileName
 Inet1.Execute , "PUT", strPutData
 While (Inet1.StillExecuting)
 DoEvents
 Wend
 End Sub
 ------------------------------------------------------
 
 この方法ですと、通常のテキストファイルは正常なんですが、
 それ以外のファイル(上記ソースの例だとtest.zip)ですと
 PUTしたファイルが破損してしまいます。
 ファイルをバイト配列として読み込み、Stringに変換する過程に
 問題があるのはわかるのですが、InetのExecuteの第3引数である
 strPutDataをバイト配列の変数 b にしてもダメでした。
 
 x Inet1.Execute , "PUT", b
 
 どなたかお力をお貸しください。よろしくお願いします。
 
 |  |