开机自检请求给出错误的响应



这是从Unity将照片发送到服务器的代码。 我需要发送:

  • 照片为 byte64
  • 文件类型为字符串

这是对我的代码的响应:

$_POST = []
$_FILES = [
0 => [
'name' => 'target_file'
'type' => 'application/octet-stream'..
]
1 => [
'name' => 'jpg'
'type' => 'text/plain'...
]
]

我需要得到:

$_POST = [
'type_object' => 'jpg'
]
$_FILES = [
'target_file' => [
'name' => 'tt3.jpg'
'type' => 'image/jpeg'..
]
]

这是我的代码:

// photo is saved to Texture2D tex 
bytes = tex.EncodeToJPG();
List<IMultipartFormSection> formData = new List<IMultipartFormSection>();
//form1 = target_file
formData.Add(new MultipartFormFileSection(form1, bytes)); 
//form2 = type_object
//req2 = "jpg"
formData.Add(new MultipartFormFileSection(form2, req2)); 
//siteAddress - "https://api...
UnityWebRequest www = UnityWebRequest.Post(siteAddress, formData);
www.chunkedTransfer = false;
yield return www.SendWebRequest();

对于文件,您必须使用不同的MultipartFormFileSection构造函数,并另外传递 formname 和内容类型。例如

// form1 = "ttf3"
// req2 = "jpg"
formData.Add(new MultipartFormFileSection("target_file", bytes, $"{form1}.{req2}", "image/jpg"));

通过使第二个文件成为MultipartFormFileSection它被视为具有字符串内容jpg的附加文件。

对于简单的字符串值,您更希望使用MultipartFormDataSection.类似的东西

// req2 = "jpg"
formData.Add(new MultipartFormDataSection($"type_object={req2}"));

另请参阅将表单发送到 HTTP 服务器 (POST( 中的示例


注意:在手机上输入,所以没有机会测试,但我希望这个想法清楚

最新更新