gpt4 book ai didi

javascript - 图像上传到 Summernote 编辑器中的文件夹

转载 作者:行者123 更新时间:2023-11-30 18:22:39 24 4
gpt4 key购买 nike

我有 asp.net mvc 4 应用程序。在那个应用程序中我有 form ,在那个表格中我有 summernote 富文本编辑器。但是在这个编辑器中,我可以选择将图像上传到这个编辑器。

但是一旦我填写了其余字段并提交了此表格。它不保存我通过 summernote 编辑器上传的图像。

我想上传图片到以下路径 ~/Content/Images/

并在数据库字段中保持路径为~/Content/Images/Image_Name.JPG

所以我尝试按照 this solution 创建我的解决方案和 GitHub Issue reported here

来自Viewpage

<div class="form-group">
@Html.TextAreaFor(m => m.Field_Value, new { @class = "form-control summernote"})
</div>

Controller 方法

    [HttpPost]
public byte[] UploadImage(HttpPostedFileBase file)
{
Stream fileStream = file.InputStream;
var mStreamer = new MemoryStream();
mStreamer.SetLength(fileStream.Length);
fileStream.Read(mStreamer.GetBuffer(), 0, (int)fileStream.Length);
mStreamer.Seek(0, SeekOrigin.Begin);
byte[] fileBytes = mStreamer.GetBuffer();
Stream stream = new MemoryStream(fileBytes);

//string result = System.Text.Encoding.UTF8.GetString(fileBytes);
var img = Bitmap.FromStream(stream);
Directory.CreateDirectory("~//Content//Images//" + img);
return fileBytes;

}

这是脚本

<script type="text/javascript">
$('.summernote').summernote({
height: 200, // set editable area's height
focus: true, // set focus editable area after Initialize summernote
onImageUpload: function (files, editor, welEditable) {
var formData = new FormData();
formData.append("file", files[0]);

$.ajax({
url: "@Url.Action("Home", "UploadImage")",
data: formData,
type: 'POST',
cache: false,
contentType: false,
processData: false,
success: function (imageUrl) {
if (!imageUrl) {
debugger;
// handle error
return;
}
editor.insertImage($editable, imageUrl);
},
error: function () {
// handle error
}
});
}
});

这一次也是,根本不显示图片是否上传到编辑器

最佳答案

我更新了你的脚本,它对我有用(检查代码注释的变化):

<script type="text/javascript">
var editor = // 1st change: will need this variable later
$('.summernote').summernote({
height: 200,
focus: true,
callbacks: { // 2nd change - onImageUpload inside of "callbacks"
onImageUpload: function (files) { // 3rd change - dont need other params
var formData = new FormData();
formData.append("file", files[0]);

$.ajax({
url: "@Url.Action("Home", "UploadImage")",
data: formData,
type: 'POST',
cache: false,
contentType: false,
processData: false,
success: function (imageUrl) {
if (!imageUrl) {
// handle error
return;
}
// 4th change - create img element and add to document
var imgNode = document.createElement('img');
imgNode.src = imageUrl;
editor.summernote('insertNode', imgNode);
},
error: function () {
// handle error
}
});
}
}
});
</script>

关于javascript - 图像上传到 Summernote 编辑器中的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33754076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com