后端:Layui实现文件上传功能

后端:Layui实现文件上传功能



后端:Layui实现文件上传功能

今天给大家分享采用AspNet MVC+前端框架LayUi实现文件上传功能,感兴趣的朋友可以学习一下。

文件上传实体(UploadFile.cs)

 public class UploadFile {        public int code { getset; }   //请求code        public string msg { getset; } // 请求消息        public string src { getset; } //文件路径        public string filename { getset; } //原始文件名 }

前端代码(Upload.cshtml):

@{ Layout = null;}<!DOCTYPE html><html><head> <meta name="viewport" content="width=device-width" /> <title>文件上传示例</title> <link href="~/Content/lib/layui/css/layui.css"  rel="stylesheet" /> <link href="~/Content/css/common.css" rel="stylesheet" /> <script src="~/Content/lib/layui/layui.js"></script></head><body> <div> <div class="layui-input-inline layui-btn-container"  style="width: auto;"> <button type="button"  class="layui-btn layui-btn-primary" id="btnUpload"> <i class="layui-icon">&#xe67c;</i>上传附件 </button> <div id="layer-photos-demo" class="fr"> <img id="imgPhoto" style="height:100px;width:100px;" src="" alt="">            </div> </div>        <div> <table class="layui-table"> <colgroup> <col width="150">                    <col width="200"> </colgroup> <thead> <tr> <th>文件名称</th>                        <th>操作</th> </tr> </thead> <tbody id="uploadList"></tbody> </table> </div> </div> <script type="text/javascript"> layui.use(["upload"], function () {
var upload = layui.upload; var $ = layui.$; upload.render({ elem: '#btnUpload', url: '/Upload/UploadFile',                size: '2048',//文件大小2M                exts: 'png|gif|jpg|jpeg|zip|rar',//文件扩展名 done: function (res) {                    if (res.code == 0) { $("#imgPhoto").attr("src", res.src); $("#uploadList").append("<tr><td>" + res.filename + "</td><td><a target='_blank' href='" + res.src + "'>查看</a></td><tr>"); } } });
});</script></body></html>

控制器代码(UploadController.cs

 // 上传视图 public ActionResult Upload(){ return View(); } // 上传逻辑public JsonResult UploadFile() { UploadFile uploadFile = new UploadFile(); try { var file = Request.Files[0]; //获取选中文件 var filecombin = file.FileName.Split('.'); if (file == null || string.IsNullOrEmpty( file.FileName) || file.ContentLength == 0 || filecombin.Length < 2) { uploadFile.code = -1; uploadFile.src = ""; uploadFile.msg = "上传失败!请检查文件"; return Json(uploadFile,  JsonRequestBehavior.AllowGet); } //定义本地路径位置 string localPath = Server.MapPath("~/Upload"); string filePathName = string.Empty; //最终文件名 string dateStr = DateTime.Now. ToString("yyyyMMddHHmmss"); filePathName = dateStr + "." + filecombin[1]; //Upload不存在则创建文件夹 if (!System.IO.Directory.Exists(localPath)) { System.IO.Directory.CreateDirectory(localPath); } //保存图片 file.SaveAs(Path.Combine(localPath, filePathName)); uploadFile.code = 0;
uploadFile.filename = filecombin[1]; uploadFile.src = Path.Combine("/Upload/", filePathName); uploadFile.msg = "上传成功"; return Json(uploadFile, JsonRequestBehavior.AllowGet); } catch (Exception) { uploadFile.code = -1; uploadFile.src = ""; uploadFile.msg = "上传失败!"; return Json(uploadFile, JsonRequestBehavior.AllowGet); } }

IT技术分享社区

后端:Layui实现文件上传功能


文章推荐
程序员效率:画流程图常用的工具
程序员效率:整理常用的在线笔记软件
远程办公:常用的远程协助软件,你都知道吗?
51单片机程序下载、ISP及串口基础知识
硬件:断路器、接触器、继电器基础知识


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2501.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • HOOK编程

    HOOK编程引用地址:https://eason.blog.csdn.net/article/details/7707821通过安装Hook过程,可以用来屏蔽消息队列中某些消息HHOOKSetWindows

    2022年7月2日
    30
  • 原生js可爱糖果数字时间特效

    效果展示:http://hovertree.com/texiao/js/35/数字采用漂亮的糖果皮肤设计效果图:代码如下:转自:http://hovertree.com/h/bjaf/o0yqj1l

    2021年12月28日
    37
  • pycharm安装tensorflow2.0 过程

    pycharm安装tensorflow2.0 过程pycharm安装tf2.0步骤1.安装python3.7.9官网下载,记住安装python.exe的路径官网地址2.配置环境,设置成上一步安装好的.exe文件3.安装tf相关包,点击添加pandsnumpymatplotlibscikit-learntensorflow2.04.测试安装成功,输入代码importtensorflowastfsess=tf.Session()a=tf.constant(1)b=tf.constant(2)p

    2025年6月26日
    2
  • jmeter怎么测性能(vs性能测试)

    1.背景介绍XXX认证要求测试合作伙伴的APP服务器性能,主要涉及APP服务器最大的并发请求消息处理能力,根据《XXX认证解决方案设计说明书》里的要求,APP服务器并发数量为2500packet/s,即在10秒内的第1秒达到2500packet/s,后面9秒等待APP服务器处理。2.测试需求APP服务器并发请求消息处理能力为2500packet/s3.测试用例名称预置条件测试步骤预期结果APP处理北向推送数据的能力1.在公有云上完成

    2022年4月12日
    85
  • JWT — JWT原理解析及实际使用[通俗易懂]

    JWT — JWT原理解析及实际使用[通俗易懂]一、JWT1、JWT介绍JWT(jsonwebtoken)是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源。比如用户登录。在传统的用户登录认证中,因为http是无状态的,所以都是采用session方式。用户登录成功,服务端会保存一个session,服务端会返回给客户端一个sessionId,客户端会把sessionId保存在cookie中,每次请求都会携带这个sessionId。

    2022年10月17日
    4
  • Open-E DSS V7 应用系列之七 卷组和卷的管理

    Open-E DSS V7 应用系列之七 卷组和卷的管理

    2021年9月15日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号