我有一个包含富文本编辑器的表单。
虽然只有richtext编辑器中的内容,但在将其保存在数据库中时没有任何问题。 但是当我在其中附加图像时,它总是用这个错误戳我 -
Invalid URI: The Uri string is too long.
是的,URI绝对是如此之长,但即使我已将数据类型保存到nvarchar(MAX)
,为什么这个表单也不会保存它。
参见图片 -
和此图片的URI -
虽然模型类型具有此富文本编辑器的nvarchar(MAX)
数据类型。
我正在执行简单的保存功能并通过
呈现富文本编辑器的值 @Html.Raw()
帮助者。
对于这个编辑器的渲染,我在客户端这样做 -
@Html.Raw(Model.businessDetails)
模型 -
public string businessDetails{get;set;}
为什么SQL SERVER不保存这个长uri?我的表单提交有什么问题?
答案 0 :(得分:2)
首先,
你应该把这作为一个POST请求而不是GET!
之后你有两个选择
<强> 1)强>
设置一个属性,使其在字符串中显示为allow HTML,并将图像存储为h64中的base64,您不必担心将其存储在任何位置。
[AllowHtml]
public string businessDetails{ get; set; }
<强> 2)强>
抓住图片的src
从中删除data:image/png;base64,
使用base64转换器解码结果,结果是二进制结果
byte[] imageArr ;
//set your imageArr here---
BitmapImage bi = new BitmapImage();
bi.BeginInit();
bi.CreateOptions = BitmapCreateOptions.None;
bi.CacheOption = BitmapCacheOption.Default;
bi.StreamSource = new MemoryStream(imageArr);
bi.EndInit();
Image img = new Image(); //Image control of wpf
img.Source = bi;
将图片保存到目的地。 img.Save("path",
ImageFormat.Jpeg )