• ASP.NET MVC上传图片并把图片保存在本地


    一、上传单张图片

    前端

    @{
        Layout = null;
    }
    
    <!DOCTYPE html>
    
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>Index</title>
    </head>
    <body>
        <div>
            @using (Html.BeginForm("addFile", "First", FormMethod.Post, new { enctype = "multipart/form-data" }))
            {
                <input type="file" name="myFile" />
                <input type="submit" />
            }
        </div>
    </body>
    </html>

    后台

    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    
    namespace 上传图片并把图片保存在本地.Controllers
    {
        public class FirstController : Controller
        {
            public static string toImagePath = @"D:";
    
            // GET: First
            public ActionResult Index()
            {
                return View();
            }
    
            [HttpPost]
            public ActionResult addFile()
            {
                try
                {
                    HttpPostedFileBase file = Request.Files["myFile"];
    
                    string FileName = DateTime.Now.ToString("yyyyMMddhhmmss");
    
                    if (file.ContentType == "image/jpeg" || file.ContentType == "image/png")
                    {
                        if (int.Parse(file.ContentLength.ToString()) > ((1024 * 1024) * 5))
                        {
                            //图片大小不能大于5M;
                            return Redirect("/First/Index");
                        }
                        else
                        {
                            //图片存储路径
                            file.SaveAs(toImagePath + FileName + ".jpg");
                        }
                    }
                    return Redirect("/First/Index");
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }
    }

     二、上传多张图片

    前端

    @{
        Layout = null;
    }
    
    <!DOCTYPE html>
    
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>Index</title>
    </head>
    <body>
        <div>
            @using (Html.BeginForm("addFile", "First", FormMethod.Post, new { enctype = "multipart/form-data" }))
            {
                <input type="file" multiple="multiple" name="myFile" />
                <input type="submit" />
            }
        </div>
    </body>
    </html>

    后台

    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    
    namespace 上传图片并保存在本地.Controllers
    {
        public class FirstController : Controller
        {
            public static string toImagePath = @"D:";
    
            // GET: First
            public ActionResult Index()
            {
                return View();
            }
    
            [HttpPost]
            public ActionResult addFile(IEnumerable<HttpPostedFileBase> myFile)
            {
                try
                {
                    foreach (var file in myFile)
                    {
                        if (file != null && file.ContentLength > 0)
                        {
                            if (file.ContentType == "image/jpeg" || file.ContentType == "image/png")
                            {
                                if (int.Parse(file.ContentLength.ToString()) > (1024 * 1024) * 5)
                                {
                                    //图片大小不能大于5M;
                                    continue;
                                }
                                else
                                {
                                    string FileName = DateTime.Now.ToString("yyyyMMddhhmmss");
                                    //图片存储路径
                                    file.SaveAs(toImagePath + FileName + ".jpg");
                                }
                            }
                        }
                    }
                    return Redirect("/First/Index");
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }
    }

    检查是否要创建上传文件夹

            private bool CreateFolderIfNeeded(string path)
            {
                bool result = true;
    
                if (!Directory.Exists(path))
                {
                    try
                    {
                Directory.CreateDirectory(path);
    return result; } catch (Exception) { result = false; } } return result; }

      如何把图片存储到当前项目某个文件夹

    string urlPath = Server.MapPath(toImagePath);// 读取到当前虚拟目录的根目录

      后续会陆续更新其他资料,喜欢请关注哦!

      我的博客:https://www.cnblogs.com/duhaoran/

  • 相关阅读:
    GZDBHelper C#.NET开源的数据库访问组件
    判断页面是否是静态页面
    Web应用程序dll获取当前程序集路径问题
    webAPI 上传文件
    解决.Net Core3.0 修改cshtml代码之后必须重新生成才可以看到效果
    .net core使用LESS
    test
    JS实现线程锁(Promise),NodeJS并发锁处理
    参考护照编码实现算法JS生成带字母有序编码
    centos7防火墙开放端口与关闭防火墙
  • 原文地址:https://www.cnblogs.com/duhaoran/p/13645910.html
Copyright © 2020-2023  润新知