|
はじめまして。
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
どなたかお力をお貸しください。よろしくお願いします。
|
|