博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.Net MVC 用 ajaxfileupload 上传图片
阅读量:6837 次
发布时间:2019-06-26

本文共 2428 字,大约阅读时间需要 8 分钟。

hot3.png

导入js

cshtml

主要是type="file"的input ,特别注意,它的name="file", 后台接收写的样式一定也要是file

js

function upload_cover(obj) {    //回传后缀    var filePath = $("input[name='file']").val();    var extStart = filePath.lastIndexOf(".");    var ext = filePath.substring(extStart, filePath.length).toUpperCase();    ajax_upload(obj.id, function (data) { //function(data)是上传图片的成功后的回调方法        var isrc = data.relatPath.replace(/\/\//g, '/'); //获取的图片的绝对路径        $('#image').attr('src', basePath + isrc).data('img-src', isrc); //给的src赋值去显示图片    }, ext);}//具体的上传图片方法function ajax_upload(feid, callback, ext) {    if (image_check(feid)) {        $.ajaxFileUpload({            url: "/Company/UploadImage",            secureuri: false,            fileElementId: feid,            dataType: 'json',            data: {fileType: ext},//增加推送的属性            type: 'post',            async: true,            secureuri: false,            success:            function (data) {                alert(data.imagePath);                $("#ImageUrl").val(data.imagePath);                $("#showPic").attr("src", data.imagePath);            },            error:            function (data) {                alert(data);            }        });    }    };    function image_check(feid) { //自己添加的文件后缀名的验证        var img = document.getElementById(feid);        return /.(jpg|png|gif|bmp)$/.test(img.value) ? true : (function () {            modals.info('图片格式仅支持jpg、png、gif、bmp格式,且区分大小写。');            return false;        })();    }

controller

[HttpPost]public ActionResult UploadImage(HttpPostedFileBase file){    //获取图片后缀    string fileType = Request.Form["fileType"];    // 时间    string now =  DateTime.Now.ToString("yyyyMMddHHmmssffff");    //文件存放的文件路径    string folder = HttpContext.Server.MapPath("/Content/images/companies/");    // 保存文件    string filePath = Path.Combine(folder, now + fileType);    file.SaveAs(filePath);    //切出相对路径    string subFilePath = filePath.Substring(filePath.LastIndexOf("\\Content"));    JsonResult json = new JsonResult();    json.ContentType = "text/html";    json.Data = new { imagePath = subFilePath, success = true };    return json;    //return Content(filePath);}

注意: UploadImage(HttpPostedFileBase file){} 里面的file 一定要是前台 name="file"

返回的json不可以直接回传,需要新建一个JsonResult , 备注json.ContentType = "text/html"; 否则默认是application/json,前台html无法识别

121706_CbSn_3556610.png

 

转载于:https://my.oschina.net/u/3556610/blog/1825855

你可能感兴趣的文章
比较某两个时间的时间戳相等
查看>>
外墙清洗这件事,到底怎样才算安全?
查看>>
java B2B2C Springcloud多租户电子商城系统-spring-cloud-eureka
查看>>
11月29日云栖精选夜读:阿里传奇工程师多隆的程序世界
查看>>
推荐一些学习软件编程的网站
查看>>
Throwable
查看>>
三栏布局 五中解决方式
查看>>
ES6手册
查看>>
Go学习之-用vscode写go代码遇到的问题
查看>>
Mybatis 通用 Mapper 使用 ①
查看>>
通过 “函数对象”看javascript函数
查看>>
【ES6总结】
查看>>
Django搭建个人博客:渲染Markdown文章目录
查看>>
菜鸟成长之路05/06/07
查看>>
Android 动画之属性动画
查看>>
Android 哥哥福利
查看>>
推荐一些工具类网站
查看>>
Visual Paradigm 教程[UML]:如何在序列图中应用消息编号?
查看>>
iOS自定义简易刷新视图(仿MJRefresh)
查看>>
你需要知道的Android View的布局
查看>>