我在前端有字符串 base64 数组。我如何发送后端这个字符串数组?

Posted

技术标签:

【中文标题】我在前端有字符串 base64 数组。我如何发送后端这个字符串数组?【英文标题】:I have string base64 array in frontend. How can i send backend side this string array? 【发布时间】:2020-01-15 17:21:52 【问题描述】:

我在前端有字符串 base64 数组。我需要发送后端这个字符串数组。我用 ajax 发送了字符串数组,但数组的单元格为空。我该如何解决这个问题?

在此处将图像转换为 Base64 代码:

var base64_string = [];    

var input = $(event.currentTarget);
var file = input[0].files[0];
var reader = new FileReader();
reader.onload = function(e)
   image_base64 = e.target.result;
   base64_string.push(images_base64);

我的 ajax 代码在这里:

$(document).ready(function() 
  var formdata = new FormData();

  $('#Ajax').click(function() 

    var ImageJsonText = JSON.stringify(
      base64_string: base64_string
    );

    $.ajax(
      url: 'main.aspx/ImageSave',
      dataType: 'json',
      type: 'POST',
      data: ImageJsonText,
      traditional: true,
      contentType: 'application/json; charset=utf-8',
      success: function(data) 
        alert(data.d);
      
    );
  );
);
[WebMethod]
public static string ImageSave(string[] base64_string) //request function with ajax




   return "OK!";

【问题讨论】:

base64_string 来自哪里? 感谢您的评论。我解决了这个问题。 【参考方案1】:

我解决了这个问题。如果您将此代码添加到您的 .config 文档中,它可以工作。 :)

<system.web.extensions>
   <scripting>
     <webServices>
       <jsonSerialization maxJsonLength="999999999"/>
     </webServices>
   </scripting>
</system.web.extensions>

【讨论】:

以上是关于我在前端有字符串 base64 数组。我如何发送后端这个字符串数组?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Alamofire 上传具有 base64String 编码的多个图像的数组

通过http方式传递base64图片字符串无法还原成图片

[单选题]如何将一个数组作为附件发送,并要能在接收后重新组合?

关于前端使用JavaScript获取base64图片大小的方法

如何在Java 8中使用Base64.decode作为字符串数组

如何使用ajax发送大图像或其base64字符串?