后端: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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Excel中文转拼音【真正的完整版】 拼音 驼峰命名专用

    Excel中文转拼音【真正的完整版】 拼音 驼峰命名专用一、打开Excel按  Alt+F11进入VB编程模式,选择“模块” 二、把下面的代码复制粘贴到“通用”下方的空白处Functionpinyin(pAsString)AsString’*************************************’版本说明:转载请保留此段注释’更新时间:2018年8月28日’作者:上海五航航空技…

    2022年6月21日
    34
  • python画爱心代码大全_python爱心代码制作

    python画爱心代码大全_python爱心代码制作程序员在爱情方式上表达上展现的多种多样,其中现在大火的用编程去编写个表白内容,最受欢迎了,今天小编也尝试了下,一起来看看吧~准备工具:python3画爱心实施步骤:打开编译器,写上code,代码如下:fromturtleimport*pensize(1)pencolor(‘red’)fillcolor(‘pink’)speed(5)up()goto(-30,100)down()begin_f…

    2025年9月29日
    4
  • mac dg破解激活码-激活码分享2022.02.22

    (mac dg破解激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlHCIQ56F36O-eyJsaWNlbnNlSW…

    2022年4月1日
    60
  • Git创建远程分支并提交代码到远程分支

    Git创建远程分支并提交代码到远程分支1、可以通过gitbranch-r命令查看远端库的分支情况如图所示,远程仓库只有一个master分支2、从已有的分支创建新的分支(如从master分支),创建一个dev分支但此时并没有在远程仓库上创建分支如图所示还是只有一个master分支3、建立本地到远端仓库的链接–这样代码才能提交上去使用命令行gitpush–set-…

    2022年6月30日
    39
  • discuz二次开发笔记

    discuz二次开发笔记禁止游客访问后,QQ互联登录失效在connect.php添加一行define(‘CURSCRIPT’,’member’);(自己翻源码看的,不保证不会造成其它问题,请自行测试)目录介绍代码 upload/(上线只要copy这个文件夹就可以了)模板文件 upload/template/ (要修改模板样式都在这里,改完要管理员去“工具”->”更新缓存”

    2022年5月19日
    42
  • 块存储、文件存储、对象存储这三者和分布式文件存储系统的本质区别[通俗易懂]

    块存储、文件存储、对象存储这三者和分布式文件存储系统的本质区别[通俗易懂]https://blog.csdn.net/enweitech/article/details/51445087 块存储和文件存储是我们比较熟悉的两种主流的存储类型,而对象存储(Object-basedStorage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-basedStorageDevice)简称OSD。       首先,我们介绍这两种传统的存储类…

    2022年5月27日
    46

发表回复

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

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