Summernote 上传文件到服务器

Posted

技术标签:

【中文标题】Summernote 上传文件到服务器【英文标题】:Summernote upload file to server 【发布时间】:2015-04-09 01:18:16 【问题描述】:

我目前正在按照说明处理从 ASP.NET MVC Razor 中的 Summernote 控件上传的图像。

服务器代码:

[HttpPost]
    public ActionResult UploadImage(HttpPostedFileBase file)
    
        var imageUrl = UpdateProfilePicture(file);
        return Json(imageUrl);
    

并且 客户端 ajax:

<script>
$('.summernote').summernote(
    height: 200,
    focus: true, onImageUpload: function (files, editor, welEditable) 
        sendFile(files[0], editor, welEditable);
    
);
function sendFile(file, editor, welEditable) 

    console.log(file);
    $.ajax(
        data: file:file,
        type: "POST",
        url: "@Url.Action("UploadImage","Message")",
        cache: false,
        contentType: false,
        processData: false,
        success: function (url) 
            editor.insertImage(welEditable, url);
        
    );

我在服务器端方法得到结果,但参数HttpPostedFileBase file 为空

一些例子说这有效,但我的代码在功能上不起作用!

有什么想法吗?

【问题讨论】:

你解决了吗? console.log(file) 的作用是什么?我认为该值无法正确转换为 HttpPostedFileBase 【参考方案1】:

在您的方法中使用“请求”对象来获取这样的文件:

        [HttpPost]
    public string UploadImage()
    
        for (int i = 0; i < Request.Files.Count; i++)
        
            var file = Request.Files[i];

            var fileName = Path.GetFileName(file.FileName);

            var path = Path.Combine(Server.MapPath("~/Images/"), fileName);
            file.SaveAs(path);
        
        return YOUR UPLOADED IMAGE URL;
    

【讨论】:

以上是关于Summernote 上传文件到服务器的主要内容,如果未能解决你的问题,请参考以下文章

Summernote 显示已上传到文件夹的图像

图片上传到 Summernote 编辑器中的文件夹

将静态文件上传到 aws 后,Summernote 图标未加载

summernote vue html编辑器不会将图像上传到服务器

summernote 图片上传和替代不起作用

带有 Summernote 的 CodeIgniter - 无法将图像上传到数据库