标签:ted png upload span result cto user multi onclick
见博客https://blog.csdn.net/shan1774965666/article/details/51302087
注:数据中可以存储图片,但是需要注意不能直接存储图片,而是转换成二进制或者Base64等的“文本”来存储,在用的时候,可以再转换回来。
在网站开发中,一般将图片存储在文件系统中,而不是数据系统中,数据库系统中只记录图片在文件系统中的路径而已。
缺点:如果数据库中只存文件路径,那么定时删除的只是路径,图片还在系统中保存
如果是转成二进制存储,存入和读取比较麻烦,浪费资源。
实现思路大概分为两步:
1. 通过上传接口,将图片上传到服务器,返回文件路径给客户端;
2. 点击保存上传,将文件路径保存到数据库,如果是多张图片,路径用逗号分隔。
<div class="panel-body"> <form action="/db/Uploading" method="post" enctype="multipart/form-data"> <input type="file" name="file1"/> <input type="submit"value="submit"/> </form> </div>
[HttpPost] public ActionResult Uploading() { if (Request.Files.Count > 0) { //得到选择上传的图片 HttpPostedFileBase f = Request.Files["file1"]; if (f != null && f.ContentLength > 0) { //文件大小 if (f.ContentLength > 5242880) return Content("<script>alert(‘错误提示:文件大小超出指定范围!‘);</script>"); string fileName = f.FileName; //文件扩展名 string ext = fileName.Substring(fileName.LastIndexOf(‘.‘)).ToLower(); if (ext == ".jpg" || ext == ".png") { //与 Web 服务器上的指定虚拟路径相对应的物理文件路径 string path = Server.MapPath("~/img"); if (!Directory.Exists(path)) Directory.CreateDirectory(path); //重新构建文件名 fileName = DateTime.Now.ToFileTime().ToString() + Guid.NewGuid().ToString("N") + ext; //保存文件到项目 var picPath = Path.Combine(path, fileName); f.SaveAs(picPath); } else return Content("<script>alert(‘错误提示:上传的文件格式不正确!‘);</script>"); } else return Content("<script>alert(‘错误提示:上传的文件是空文件!‘);</script>"); //将图片保存到本地 f.SaveAs(@"C:\Users\17612\Desktop\"+ f.FileName); } return Json(1); }
标签:ted png upload span result cto user multi onclick
原文地址:https://www.cnblogs.com/SmileSunday/p/9400383.html