图片处理
Posted smilesunday
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图片处理相关的知识,希望对你有一定的参考价值。
* MVC图片
见博客https://blog.csdn.net/shan1774965666/article/details/51302087
注:数据中可以存储图片,但是需要注意不能直接存储图片,而是转换成二进制或者Base64等的“文本”来存储,在用的时候,可以再转换回来。
在网站开发中,一般将图片存储在文件系统中,而不是数据系统中,数据库系统中只记录图片在文件系统中的路径而已。
缺点:如果数据库中只存文件路径,那么定时删除的只是路径,图片还在系统中保存
如果是转成二进制存储,存入和读取比较麻烦,浪费资源。
实现思路大概分为两步:
1. 通过上传接口,将图片上传到服务器,返回文件路径给客户端;
2. 点击保存上传,将文件路径保存到数据库,如果是多张图片,路径用逗号分隔。
1. 上传保存
<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:Users17612Desktop"+ f.FileName); } return Json(1); }
以上是关于图片处理的主要内容,如果未能解决你的问题,请参考以下文章
Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题
Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题
Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段