我在通过ajax发送base64图像字符串时遇到问题。当我上传小图片时,它工作正常,但是当我尝试上传大图时,它会产生一个错误。其实我正在创建一个在线可定制的打印Web应用程序。因此,用户可以选择添加文字&图像。我想要的是,当用户按提交buttom时,html页面的body标签内的整个数据应该通过ajax传递到我的sql服务器数据库。如何通过ajax发送大的base64图像字符串?

​​

这里是我的标记

这里是我的jQuery

//Image Upload Code

function readURL(input) {

if (input.files && input.files[0]) {

var reader = new FileReader();

reader.onload = function (e) {

$('#safeZone').attr('src', e.target.result);

}

reader.readAsDataURL(input.files[0]);

}

}

$("#imgInp").change(function() {

readURL(this);

});

//Sending Content Through Ajax

function savemydata() {

$.ajax({

type: "POST",

url: "addProductDesigns.aspx/SaveData",

data: "{'text': '" + $("#body_content").html() + "'}",

contentType: "application/json; charset=utf-8",

dataType: "json",

success: Success,

failure: function (response) {

alert(response.d);

}

});

}

function Success(response) {

alert(response.d);

}

这里是我的背后

[WebMethod()]

public static string SaveData(string text)

{

try

{

string connectionString = "server=(localhost); Initial Catalog=databaseName; uid=username; password=password";

SqlConnection cnn = new SqlConnection(connectionString);

SqlCommand cmd;

cmd = cnn.CreateCommand();

cnn.Open();

cmd = cnn.CreateCommand();

cmd.CommandText = "insert into tempCheck values('" + text.Trim() + "')";

cmd.ExecuteNonQuery();

cnn.Close();

return "Saved Successfully";

}

catch

{

return "Error Occurred";

}

}

代码它工作正常,当我上传小图片,但如果我上传大尺寸的图片会产生错误。请帮帮我。

任何帮助将受到高度的尊重。

+0

为什么要将图像作为Base 64保存在数据库中?没有人会这么做! –

+0

我没有别的选择。只要看到上面的图片。无论添加在其上(文本和图像)。它全部通过jquery。如果我上传服务器上的映像并将路径保存在数据库中,那么我将失去所有客户端更改。这就是为什么我通过ajax发送整个内容。不刷新页面 –

+0

您是否找到了解决此问题的解决方案? –

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐