XMLHTTPを使用してVBでファイルをWEBサーバにアップロードするアプリを作成しています。
ファイルの文字コードは「UTF-8」で、POSTするときにファイルの中身を変数に読み込むときは「UTF-8」で代入できているようですが(デバッグモードで確認したレベルです)、「InetSpy」で送信したデータを見ると文字コードが変わっているようです。
どのようにコーディングすれば「UTF-8」のままPOSTできるのでしょうか?
ちなみに以下のコーディングです。
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP.3.0")
objXMLHTTP.Open "POST", "http://xxxxxxxx/xxx.php", False
objXMLHTTP.setRequestHeader "Content-Type", "multipart/form-data; boundary=""7da5dd270284"""
strSendData = strSendData & "--7da5dd270284" & vbCrLf
strSendData = strSendData & "Content-Disposition: form-data; name=""reqparm""" & vbCrLf & vbCrLf
strSendData = strSendData & (パラメータ) & vbCrLf
strSendData = strSendData & "--7da5dd270284" & vbCrLf
strSendData = strSendData & "Content-Disposition: form-data; name=""datafile""; filename=""c:\data.csv""" & vbCrLf
strSendData = strSendData & "Content-Type: text/plain" & vbCrLf & vbCrLf
intFileNum = FreeFile()
Open strFilePath For Input As #intFileNum
'data.csvの中身を書き出す
Do Until EOF(intFileNum)
Line Input #intFileNum, strLine
strSendData = strSendData & strLine & vbCrLf
Loop
Close #intFileNum
strSendData = strSendData & "--7da5dd270284--"
objXMLHTTP.send (strSendData)
> Line Input #intFileNum, strLine
Line Inputステートメントを選択する時点で違うのでは。
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200503/05030006.txt
よく分からないならIEでどうぞ。
http://oshiete1.goo.ne.jp/qa4655034.html
熊谷さま
ご回答ありがとうございます。
バイナリでなくてはいけないんですね。
大変参考になりました。
もう一度試してみます。
ありがとうございました。