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

来源:互联网 发布:农村金融去哪找数据 编辑:程序博客网 时间:2024/06/01 08:35
 首先第一步就是界面。样式什么的就不设置了,先实现功能就行。
<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("文件格式不正确");            }        }

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

阅读全文
0 0
原创粉丝点击