实际上我创建了一个页面,其中包含文本和图像保存过程到数据库。所以我使用了表单数据。一切都很好但是当我们用空格给出文本时,空格变成了' +'符号。请在下面找到我尝试的代码,
脚本:
var fileData = new FormData();
var notes = "testing testing testing testing testing testing testing te";
fileData.append('notes', notes);
$.ajax({
url: "api/update",
type: "POST",
data: fileData,
},
success: function (response) {
alert("saved");
}
});
我可以在调试脚本时获得相同的字符串。但是,在我们从脚本发布到Action之后,我只能将字符串作为"测试+测试+测试+测试+测试+测试+测试+测试"。
C#:
[HttpPost]
[Route("api/update")]
public async Task<dynamic> PostAsyncOccupantImage()
{
string error = string.Empty;
MyStreamProvider streamProvider = new MyStreamProvider();
await Request.Content.ReadAsMultipartAsync(streamProvider);
var notes = streamProvider.FormData.ToString().Split('&')[0]
return error;
}
请提出你的建议。 谢谢, Arun D
答案 0 :(得分:1)
在Mark给出的链接的答案中解释了这一点:
在某些GET和POST请求中(很可能在URL中或通过表单),空格在传递到服务器之前被编码为“+”(加号)符号。
这是因为网址不能包含空格。
注意:这仅适用于 application / x-www-form-urlencoded 内容。除此之外,空格字符编码为:%20
。