C# 接收到带'的字符串+';使用c将带有附加字符串的Ajax post发送到FormData时#

C# 接收到带'的字符串+';使用c将带有附加字符串的Ajax post发送到FormData时#,c#,jquery,.net,ajax,form-data,C#,Jquery,.net,Ajax,Form Data,实际上,我已经创建了一个页面,并将文本和图像保存到数据库。所以我使用了表单数据。一切都很好,但是当我们给文本加空格时,空格变成了“+”符号。请查找下面的代码,了解我是如何尝试的 脚本: var fileData = new FormData(); var notes = "testing testing testing testing testing testing testing te"; fileData.append('notes', notes); $.ajax({

实际上,我已经创建了一个页面,并将文本和图像保存到数据库。所以我使用了表单数据。一切都很好,但是当我们给文本加空格时,空格变成了“+”符号。请查找下面的代码,了解我是如何尝试的

脚本:

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");
                }
});
[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;
}
我可以在调试脚本时获得相同的字符串。但在我们从脚本发布到操作之后,我只能得到字符串“testing+testing+testing+testing+testing+testing+testing+testing+testing”

C#:

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");
                }
});
[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;
}
[HttpPost]
[路线(“api/更新”)]
公共异步任务PostAsyncOccountImage()
{
字符串错误=string.Empty;
MyStreamProvider streamProvider=新的MyStreamProvider();
wait Request.Content.ReadAsMultipartAsync(streamProvider);
var notes=streamProvider.FormData.ToString().Split('&')[0]
返回误差;
}
请给出你的建议。 谢谢
Arun D

在给出以下链接的答案中进行了解释:

在一些GET和POST请求中(最有可能在URL中,或通过表单),空格在传递到服务器之前被编码为“+”(加号)

这是因为URL不能包含空格


注意:这仅适用于应用程序/x-www-form-urlencoded内容。空格字符以其他方式编码为:
%20

您可以从这里引用我们不知道heck
MyStreamProvider
是什么,也不知道它从哪里获取数据,或者它对数据做了什么。不,我可以在方法中将“+”替换为“”而不是给定的链接。我需要知道它为什么会发生,以及它如何解决@Mark