私はすでに何時間も試していますが、どういうわけか私は問題を理解していません。これが私のリクエストのサンプルです:
POST /test/upload/upload.php HTTP/1.0
Host: localhost
User-Agent: TestBrowser
Content-Type: multipart/form-data, boundary=635131229269 //edited
Content-Length: 94
--635131229269
Content-Disposition: form-data; name="testme"
contender
--635131229269--
標準のTCP/IPソケットを介してPHPサーバーに送信されますが、$ _POST['testme']値は常に空です。
誰かがこのリクエストのバグを見ることができますか?->解決しました
ここのコードには表示されていない\r\nが最後にあります。
ありがとう、それは私の最初の問題を解決しました。
たぶんあなたは私の2番目のことも手伝ってくれるでしょう。私があなたのプロフィールで見たように、あなたはC#に問題がなく、私の2番目の問題があります。サーバーにファイルをアップロードしようとしていますが、filedataが適切に要求されていません。エンコードが原因だと思いますが、よくわかりません。
_content = _content
+ "--" + boundary + Environment.NewLine
+ "Content-Disposition: form-data; name=\"" + this._FileVarName + "\"; filename=\"" + Path.GetFileName(this._FilePath) + "\""
+ Environment.NewLine + "Content-Transfer-Encoding: application/octet-stream"
+ Environment.NewLine + Environment.NewLine;
mainContent = this.Combine(Encoding.UTF8.GetBytes(_content), StreamFile(this._FilePath));
private Byte[] StreamFile(string Path)
{
FileStream fs = new FileStream(Path, FileMode.Open, FileAccess.Read);
Byte[] ImageData = new byte[fs.Length];
fs.Read(ImageData, 0, System.Convert.ToInt32(fs.Length));
fs.Close();
return ImageData;
}