【问题标题】:Post image src to MVC controller将图像 src 发布到 MVC 控制器
【发布时间】:2019-04-18 09:41:05
【问题描述】:

我正在尝试将图像元素的内容发布到我的控制器,以便我可以使用元素将其存储在我的数据库中。

图片src格式是这样的:

数据:图像/ GIF; BASE64,iVBORw0KGgoAAAANSUhEUgAAAMUAAAEACAYAAAADarJDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAFCxJREFUeJzt3XuUnHV9x / HP9zuzu0kAEUKicqyGGsAbF41ELAm7syG7swmCye5ka22otF6rYqmKp3houng5R9GDtl4OwvFCC6e72QkihMwmZGc3IWop0SqXQ2qUtV6qyQZSkkAu83y // SM7usRNMjPP73l + z8x + X39yTr7PN + R57zO3fQYwxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMYlGvheYLhbctqDp1DNeMhspOosomE2qpxNRSxCghYFmENJQlJRxiAmHVfUQNLUXGuyh5u P>

这是我的 javascript:

$("#submit").click(function () {
    var data = new FormData();
    data.append("image", $('#myImage').attr.src);
    $.ajax({
        url: "/default/upload/",
        type: "POST",
        processData: false,
        contentType: false,
        data: data,
        success: function (response) {
            //code after success
            alert("succes");
        },
        error: function (er) {
            alert(er);
        }
 });

这是我的控制器方法:

[HttpPost]
public void Upload(string image)
{
    Console.WriteLine("Do Something");
}

我的断点被触发,但我的图像字符串只包含undefined

【问题讨论】:

  • 不清楚你在问什么。为什么要将控制器发送给客户端的图像发送回控制器?
  • 我只是将图像发送到控制器,而不是将其发送回客户端。我会尝试更新我的问题以澄清
  • 但是图片是从哪里来的?
  • 来自剪贴板。我正在使用 javascript 将用户剪贴板中的任何图像粘贴到网站上的 标记。当他们在我的表单上按提交时,我还需要保存他们粘贴的图像

标签: c# jquery asp.net-core file-upload asp.net-core-mvc


【解决方案1】:

我认为问题出在这一行:

data.append("image", $('#myImage').attr.src);

解决办法是:

data.append("image", $('#myImage').attr('src'));

// or if you're using jquery version 1.6 or later
data.append("image", $('#myImage').prop('src'));

我的断点被触发,但我的图像字符串只包含undefined

那是因为$('#myImage').attr.src 返回了undefined。然后,您将值发送到服务器。当然,image 抓住了undefined 的价值。

【讨论】:

    【解决方案2】:

    首先,您可以通过从 src 字符串中删除 data:image/gif;base64; 将图像 src 作为原始字符串发布到控制器

    然后你将这个base64字符串转换为二进制并保存到数据库中

    byte[] imageBinary = Convert.FromBase64String(srcBase64String);
    

    【讨论】:

      猜你喜欢
      • 2018-04-02
      • 1970-01-01
      • 2015-09-13
      • 1970-01-01
      • 2017-01-01
      • 2017-06-22
      • 2012-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多