zoukankan      html  css  js  c++  java
  • ASP.NET 后台上传图片

    2021年开始了,今天写一个记录博客,记录在asp.net中上传图片的功能,其实很简单。主要是命名问题。避免命名重复就可以了。

    在这里主要先说功能,衍生出来的命名规则,适用场景等等且先不说。譬如按文件夹分类,按日期分类图片,重复上传图片是否修改等等。

    话不多说,直接上代码

           #region 上传图片
            /// <summary>
            /// 上传门票名称图片
            /// </summary>
            /// <returns></returns>
            public ActionResult UploadFilePhoto()
            {
                var files = Request.Files;
                if (files.Count <= 0)
                {
                      return Error("上传失败,文件未找到");
                }
                var file = files[0];
                var Serverpath = "/Files/Stock_GoodsType/";
                var path = Server.MapPath(Serverpath);
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                var filename = Guid.NewGuid().ToString() + Path.GetFileName(file.FileName);
                var fullPath = Path.Combine(path, filename);
                file.SaveAs(fullPath);
           return Success("上传成功。", Serverpath + filename); }
    #endregion

    简简单单,回头我自己跑来拿着用。最后结束是给一个相对路径回去到前台做展示。

    当然,还可以有给绝对路径的方式

      #region 上传图片
    
            /// <summary>
            /// 上传门票名称图片
            /// </summary>
            /// <param name="folder"></param>
            /// <returns></returns>
            public ActionResult UploadFilePhoto(string folder)
            {
                var ServerUrl = System.Configuration.ConfigurationManager.AppSettings["SelfConfig"];
                var files = Request.Files;
                if (files.Count > 0)
                {
                    var file = files[0];
                    var Serverpath = $"/Files/{folder}/";
                    var path = Server.MapPath(Serverpath);
                    if (!Directory.Exists(path))
                    {
                        Directory.CreateDirectory(path);
                    }

                    string jpgname = Path.GetExtension(file.FileName);
                    var filename = Guid.NewGuid().ToString() + jpgname;
                    var fullPath = Path.Combine(path, filename);
                    file.SaveAs(fullPath);

                    string resultUrl = ServerUrl.Substring(0, ServerUrl.LastIndexOf('/')) + Serverpath + filename;
                    return Content(new AjaxResult { type = ResultType.success, message = "上传成功。", resultdata = resultUrl }.ToJson());

                }
                return Content(new AjaxResult { type = ResultType.error, message = "上传失败,文件未找到" }.ToJson());
            }
    #endregion

    区别只在于最后resultUrl里把绝对地址拼入了返回地址里面,以后拿出来用就比较好用了

  • 相关阅读:
    TCP和UDP的区别
    DATAX 实现python调用cmd 系统控制台,实现在开发工具中内嵌datax (python 多行执行cmd命令)
    DATAX 实现java调用cmd 系统控制台,实现在开发工具中内嵌datax
    六大质量属性——可测试性代码层面描述(以“信息领域热词分析系统”为例)
    信息领域热词分析——质量属性
    DATAX 从scv到csv 从csv到mysql
    DATAX避坑点——MySQL到MYSQL,某个垃圾教程(简书)中,误导新手
    DATAX 按照官方实例 python datax.py ./stream2stream.json 乱码
    Python中plot使用方法小白的福音
    Python 最简实现逻辑回归,针对二维数据进行机器学习
  • 原文地址:https://www.cnblogs.com/SevenWang/p/14261737.html
Copyright © 2011-2022 走看看