图片处理

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>
html
技术分享图片
   [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);
        }
后台代码

 

以上是关于图片处理的主要内容,如果未能解决你的问题,请参考以下文章

如何把视频片段做成动态图片

手机safari图片上传竖变横处理

CardView 不在披萨片段中显示图片

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段