JavaScript、jquery实现上传图片(图片存到服务器,路径存到数据库字段中)一

本文介绍如何利用JavaScript和jQuery将图片上传到服务器,并将图片路径存储到数据库中。控制器的AddEvidence方法接收参数,成功上传后,图片路径已保存,后续将讲解图片显示和删除功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 首先第一步就是界面。样式什么的就不设置了,先实现功能就行。
<form id="form2" method="post" enctype="multipart/form-data">

    <input type="file" id="imageUpLoad" name="imageUpLoad" class="form-control required" style="float: left; width: 200px;">
    <input type="button" value="点击上传" onclick="UpLoad()"   class="btn  btn-primary">
</form>
先选择图片进行上传,这里使用from 中的type="file"就可以选择图片,然后定义一个上传按钮,按钮中给他一个onclick事件。
 function UpLoad() {
        //如果有其他的值,判断下是否为空

        var keyValue = $("#gridList").jqGridRowValue().Id;

        form2.action = "/List/AddEvidence?keyValue=" + keyValue;
        form2.submit();
    }

这个是跳转到了控制器的AddEvidence方法中,参数是keyValue 。

后台控制器的写法:

[HttpPost]
        //
        public ActionResult AddEvidence(HttpPostedFileBase imageUpLoad, string keyValue)
        {
            string fileName = imageUpLoad.FileName;
            //转换只取得文件名,去掉路径。
            if (fileName.LastIndexOf("\\") > -1)
            {
                fileName = fileName.Substring(fileName.LastIndexOf("\\") + 1);
            }
            string type = fileName.Substring(fileName.LastIndexOf(".") + 1);//得到加载文件的扩展名
            if (type == "jpg" || type == "bmp" || type == "gif" || type == "png")
            {
                //重命名,方便同一管理
                fileName = DateTime.Now.ToString("yyyyMMddhhmmss") + "-" + Path.GetFileName(imageUpLoad.FileName);
                string uppath = Server.MapPath("/Content/IssueImages/") + fileName;
                //保存到相对路径下。
                imageUpLoad.SaveAs(uppath);
                //以下代码是将 路径保存到数据库。
                string ImageUrl = "/Content/IssueImages/" + fileName;
                //在数据库中查出来是否已经上传了图片
                var data = this.CreateService<IIssueListAppService>().GetIssueListById(keyValue).First();
                if (data.ImageUrl == null)
                {
                //如果没有上传,那就存进去
                    UpdateIssueRecordsInput input = new UpdateIssueRecordsInput();
                    input.Id = keyValue;
                    input.ImageUrl = ImageUrl;

                    this.CreateService<IIssueListAppService>().UpdateImageUrl(input);
                    return Success("上传图片成功!");
                }
                else if (data.ImageUrl2 == null)
                {
                    UpdateIssueRecordsInput input = new UpdateIssueRecordsInput();
                    input.Id = keyValue;
                    input.ImageUrl2 = ImageUrl;

                    this.CreateService<IIssueListAppService>().UpdateImageUrl2(input);
                    return Success("上传图片成功!");
                }
                else if (data.ImageUrl3 == null)
                {
                    UpdateIssueRecordsInput input = new UpdateIssueRecordsInput();
                    input.Id = keyValue;
                    input.ImageUrl3 = ImageUrl;

                    this.CreateService<IIssueListAppService>().UpdateImageUrl3(input);
                    return Success("上传图片成功!");
                }
                else
                {
                    return Error("最多上传三张图片");
                }
            }
            else
            {
                return Error("文件格式不正确");
            }
        }

这时候已经将图片上传到服务器,路径存到数据库了,下一篇将介绍显示图片并且实现删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值