Man*_*noz 0 asp.net richtextbox asp.net-mvc-4
我有一个包含富文本编辑器的表单。
虽然富文本编辑器中只有内容,但将其保存在数据库中时没有任何问题。但是当我在其中附加图像时,它总是用这个错误来戳我-
Invalid URI: The Uri string is too long.
Run Code Online (Sandbox Code Playgroud)
是的,URI 确实太长了,但是即使我已经给出了要nvarchar(MAX)保存的数据类型,为什么这个表单不保存它呢?
参见图片——

以及该图像的 URI -

虽然模型类型具有nvarchar(MAX)此富文本编辑器的数据类型。
我正在执行简单的保存功能并通过以下方式呈现富文本编辑器的值
@Html.Raw()帮手。
对于该编辑器的渲染,我在客户端执行此操作 -
@Html.Raw(Model.businessDetails)
Run Code Online (Sandbox Code Playgroud)
模型-
public string businessDetails{get;set;}
为什么 SQL SERVER 不保存这么长的 uri?我提交的表单出了什么问题?
首先第一件事,
您应该将其作为 POST 请求而不是 GET 来执行!
之后你有两个选择
1)
设置一个属性,以便它允许在字符串中使用 HTML,并将图像作为 base64 存储在 html 中,您不必担心将其存储在任何地方。
[AllowHtml]
public string businessDetails{ get; set; }
Run Code Online (Sandbox Code Playgroud)
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;
Run Code Online (Sandbox Code Playgroud)将图像保存到目的地。img.Save("path",图像格式.Jpeg)
| 归档时间: |
|
| 查看次数: |
3833 次 |
| 最近记录: |