当前位置: 代码网 > it编程>编程语言>Asp > ASP.NET MVC+EntityFramework图片头像上传功能实现

ASP.NET MVC+EntityFramework图片头像上传功能实现

2024年05月15日 Asp 我要评论
1,先展示一下整体的效果2,接下来展示用户添加以及上传头像代码、添加用户界面前端代码如下: <div class="form-group"> @html.label

1,先展示一下整体的效果

2,接下来展示用户添加以及上传头像代码、添加用户界面

前端代码如下:

  <div class="form-group">
            @html.labelfor(model => model.img, "头像:", htmlattributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @*@html.editorfor(model => model.img, new { htmlattributes = new { @class = "form-control" } })*@
                <input class="width-main input" type="file" datatype="*" id="pic" name="pic" value="" accept="image/*" onchange="upload(event)">
                <input type="hidden" name="img" id="img" value="" />
                <div id="showimg"></div>
            </div>
        </div>

 js代码

<script>
    //实现异步上传
    function upload(event) {
        var imgpath = $("#pic").val();
        console.log(imgpath);
        //判断上传文件的后缀名
        var strextension = imgpath.substr(imgpath.lastindexof('.') + 1);
        if (strextension != 'jpg' && strextension != 'gif' && strextension != 'png' && strextension != 'bmp') {
            alert("请选择图片文件");
            return;
        }
        //实现文件上传操作
        if (event.target.files[0].type.search('image') !== -1) {
            //实现文件图片的上传
            var formdata = new formdata($("#myform")[0]);//用于创建一个文件流对象
            //formdata.append('pic', $("#img")[0]); //添加文件流 (流名称,流)
            //console.log(formdata);
            $.ajax({
                url: "/upload/file",
                type: "post",
                cache: false,
                processdata: false,
                contenttype: false,
                data: formdata,
                success: function (res) {
                    console.log(res);
                    if (res.trim() == "209") {
                        alert("请选择图片!");
                        return;
                    }
                    if (res.trim() == "300") {
                        alert("上传的图片不能为空图片!");
                        return;
                    }
                    if (res.trim() == "400") {
                        alert("上传的图片失败!");
                        return;
                    }
                    //alert("上传成功!");
                    $("#showimg").html("<img src='" + res + "' width='50' height='50' /><p style='color:red;'>上传成功!</p>");
                    //设置上传的图片地址
                    var res = res.trim(); //去除图片的前后空白字符
                    $("#img").val(res);
                },
                error: function (res) {
                    alert("上传异常!");
                }
            });
        } else {
            alert('只支持上传图片');
        }
    }
</script>

 控制器图片上传的方法

  //图片上传
        [httppost]
        public actionresult file(httppostedfilebase pic)
        {
            try
            {
                if (pic != null)
                {
                    if (pic.contentlength == 0)
                    {
                        return content("209"); //获取上传的图片
                    }
                    else
                    {
                        //判断文件的后缀名,是否符合条件
                        string backfix = path.getextension(pic.filename);
                        if (backfix != ".gif" && backfix != ".png" && backfix != ".jpg" && backfix != ".jpeg")
                        {
                            return content("210"); //格式不对
                        }
                        string filename = datetime.now.tostring("mmddhhmmss") + backfix;
                        string strpath = server.mappath("~/content/pic/" + filename);
                        pic.saveas(strpath);
                        //返回路径
                        return content("/content/pic/" + filename);
                    }
                }
                else
                {
                    return content("300"); //图片不能为空
                }
            }
            catch (exception )
            {
                return content("400"); //上传失败
            }
        }

数据库保存的是文件的已经重新命名的路径,数据库保存的图片如下

在列表页面如何具体显示头像呢,代码如下所示:

以上就是头像图片的上传展示,谢谢. 

到此这篇关于asp.net mvc+entityframework图片头像上传的文章就介绍到这了,更多相关asp.net mvc图片头像上传内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com