我在通过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
您是否找到了解决此问题的解决方案? –