我有一个asp.net mvc 4应用程序,在该应用程序中,我有一个表单,在该表单中,我有summernote富文本编辑器。但是在此编辑器中,我有上传图像的选项。
但是,一旦我填写了其余字段并提交了该表单,它就不会保存我通过summernote编辑器上传的图像。
我想将图像上传到以下路径:
并将路径保留为
因此,我尝试按照此解决方案和GitHub 报告的问题来创建我的解决方案。
从Viewpage开始。
控制器方法
但是,一旦我填写了其余字段并提交了该表单,它就不会保存我通过summernote编辑器上传的图像。
我想将图像上传到以下路径:
~/Content/Images/
,并将路径保留为
~/Content/Images/Image_Name.JPG
在数据库字段中。因此,我尝试按照此解决方案和GitHub 报告的问题来创建我的解决方案。
从Viewpage开始。
<div class="form-group">
@Html.TextAreaFor(m => m.Field_Value, new { @class = "form-control summernote"})
</div>
控制器方法
[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
}
});
}
});
这次也是一样的,它没有显示任何图像是否已经上传到编辑器。