タイトル : Re^4: .netでのストリームの扱い 投稿日 : 2015/09/01(Tue) 17:21 投稿者 : でふぁいあんと
> 乗りかかった船なので、こちらとしても最後まで完成させて欲しいですし。 なんともはや恐縮しております。 > # とりあえず直近だと、今週金曜日のfest2015東京会場に参加してます。 > # http://www.microsoft.com/ja-jp/events/fest/2015/ かなり敷居高いですね(涙)、何か書籍の出版サイン会とかないですか で本題です。 この送信ソースは、ぜひマスターするつもりですが、 とりあえず、現在のプログラムで Dim req As System.Net.WebRequest = _ System.Net.WebRequest.Create("http://hogehoge.com/send") Dim reqStream As System.IO.Stream = req.GetRequestStream() '送信データ bytPOST = adoStream.Read '送信するデータを書き込む reqStream.Write(bytPOST, 0, bytPOST.Length) という感じで、adoStreamからbyte配列に変換したものは成功しています それで魔界の仮面弁士様のコードより Dim reqData As New MemoryStream() Dim enc = System.Text.Encoding.UTF8 'Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding(932) Dim writer As New BinaryWriter(reqData, enc) writer.Write("--" & strBoundary & vbCrLf) '---a writer.Write("Content-Disposition: form-data; name=""file""; filename=""" & strImageFile & """" & vbCrLf) '---b writer.Write("Content-Type: image/jpeg" & vbCrLf & vbCrLf) writer.Write(bytImage) writer.Write(vbCrLf) writer.Write("--" & strBoundary & "--" & vbCrLf) bytPOSTn = reqData.ToArray としたのですが、 これを reqStream.Write(bytPOSTn, 0, bytPOSTn.Length) とするとうまくいきません。 fiddlerで文字列を確認するとaの行頭で"(" = &h28 bの行頭で"o"=&h6f という 化け文字が入っているようです。 UTF-8からSJISにしても同じです。 ご提案いだたけたソースも別関数として 用意しておこうかと思っていますが 配列は基本的なところなので この機会にぜひご指導いただけたらと思います |