[实战]MVC5+EF6+MySql企业网盘实战(9)——编辑文件名

写在前面

上篇文章实现了文件的下载,本篇文章将实现编辑文件名的功能。

系列文章

[EF]vs15+ef6+mysql code first方式

[实战]MVC5+EF6+MySql企业网盘实战(1)

[实战]MVC5+EF6+MySql企业网盘实战(2)——用户注册

[实战]MVC5+EF6+MySql企业网盘实战(3)——验证码

[实战]MVC5+EF6+MySql企业网盘实战(4)——上传头像

[Bootstrap]modal弹出框

[实战]MVC5+EF6+MySql企业网盘实战(5)——登录界面,头像等比例压缩

[实战]MVC5+EF6+MySql企业网盘实战(5)——页面模板

[实战]MVC5+EF6+MySql企业网盘实战(5)——ajax方式注册

[实战]MVC5+EF6+MySql企业网盘实战(6)——ajax方式登录

[实战]MVC5+EF6+MySql企业网盘实战(7)——文件上传

[实战]MVC5+EF6+MySql企业网盘实战(8)——文件下载、删除

[实战]MVC5+EF6+MySql企业网盘实战(9)——编辑文件名

核心代码

前段代码

          <tbody role="alert" aria-live="polite" aria-relevant="all">
                @{int i = 0;}
                @foreach (var item in Model)
                {
                    i++;
                    <tr class="i%2==0?‘even‘:‘odd‘" id="[email protected]">
                        <td class=" even sorting_1"><img src="@item.FileIcon" alt="" /> <span id="[email protected]">@item.FileName</span></td>
                        <td class="center ">@item.FileSize  字节</td>
                        <td class="center ">@item.ModifyDt</td>

                        <td class="center ">
                            <a class="btn btn-success" href="/Home/[email protected]">
                                <i class="glyphicon glyphicon-zoom-in icon-white"></i>
                                下载
                            </a>
                            <a class="btn btn-info" href="javascript:void(0)" onclick="editFile(@item.Id,‘@item.FileName‘)">
                                <i class="glyphicon glyphicon-edit icon-white"></i>
                                编辑
                            </a>
                            <a class="btn btn-danger" href="javascript:void(0)" onclick="deleteFile(@item.Id)">
                                <i class="glyphicon glyphicon-trash icon-white"></i>
                                删除
                            </a>
                        </td>
                    </tr>

                }
            </tbody>

模式弹出框

<div class="modal fade" id="modal-edit" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
     aria-hidden="true">

    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">×</button>
                <h3>编辑</h3>
            </div>
            <div class="modal-body">
                <input type="text" placeholder="请输入名称" class="form-control" name="name" value="" id="txtFileName" />
            </div>
            <div class="modal-footer">
                <a href="#" class="btn btn-default" data-dismiss="modal" id="lnkCancel">取消</a>
                <a href="#" class="btn btn-primary" data-dismiss="modal" id="lnkSave">保存</a>
            </div>
        </div>
    </div>
</div>

请求

    //编辑文件名
    function editFile(fileId, fileName) {
        $("#txtFileName").val(fileName);
        $("#modal-edit").modal(‘show‘);
        //弹出框注册取消,保存事件
        $(‘#lnkCancel‘).click(function () {
            //单机取消,清空内容
            $("#txtFileName").val(‘‘);
        });
        $(‘#lnkSave‘).click(function () {
            var file = {
                fileId: fileId,
                fileNewName: $(‘#txtFileName‘).val()
            };
            $.post("/Home/EditFileName", file, function (data) {
                data = JSON.parse(data);
                if (data.code == 200) {
                    $(‘#sp-‘ + fileId).html(file.fileNewName);
                }
            });
        });
    };

服务端代码

        public JsonResult EditFileName()
        {
            string fileId=Request.Form["fileId"];
            string fileNewName=Request.Form["fileNewName"];
            UserInfo userInfo = Session["user"] as UserInfo;
            if (userInfo == null)
            {
                RedirectToAction("Login", "UserInfo");
            }
            int id = Convert.ToInt32(fileId);
            var findFile = _myFileServiceRepository.Find(x => x.Id == id);
            findFile.FileName = fileNewName;
            _myFileServiceRepository.Update(findFile);
            int count = _myFileServiceRepository.SaveChanges();
            if (count > 0)
            {
                var response = new
                {
                    code = 200,
                    msg = "更新成功"
                };
                return new JsonResult() { Data = new JavaScriptSerializer().Serialize(response) };
            }
            return new JsonResult() { Data = new JavaScriptSerializer().Serialize(new { code = 500, msg = "保存失败" }) };
        }

测试

修改成功后,无刷新修改列表中的文件名。

总结

下班回来后,折腾了一会代码,实现了编辑文件名的操作。

时间: 2024-10-12 23:43:58

[实战]MVC5+EF6+MySql企业网盘实战(9)——编辑文件名的相关文章

[实战]MVC5+EF6+MySql企业网盘实战(23)——文档列表

写在前面 上篇文章实现了图片列表,这篇文章实现文档列表将轻车熟路,因为逻辑基本相似,只是查询条件的不同.这里将txt,doc,docx,ppt,pptx,xls,xlsx的文件都归为文档列表中. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实战]MVC5+EF6+MySql企业网盘实战(2)——用户注册 [实战]MVC5+EF6+MySql企业网盘实战(3)——验证码 [实战]MVC5+EF6+MySql企业

[实战]MVC5+EF6+MySql企业网盘实战(13)——思考

写在前面 从上面更新编辑文件夹,就一直在思考一个问题,之前做的编辑文件名已经文件夹名称,只是逻辑上的修改,但是保存的物理文件或者文件夹名称并没有进行修改,这样就导致一个问题,就是在文件或者文件夹修改名称后就会找不到物理文件,因为路径或者文件名错误了.所以就有了这篇文章的思考.当然,修改物理文件确实能实现,但是会频繁的操作io,性能会非常的差,如果一个文件非常大,你可想而知这种效率有多么底下. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+My

[实战]MVC5+EF6+MySql企业网盘实战(22)——图片列表

写在前面 实现逻辑是:单击图片节点,加载所有的当前用户之前上传的图片,分页,按时间倒序加载. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实战]MVC5+EF6+MySql企业网盘实战(2)——用户注册 [实战]MVC5+EF6+MySql企业网盘实战(3)——验证码 [实战]MVC5+EF6+MySql企业网盘实战(4)——上传头像 [Bootstrap]modal弹出框 [实战]MVC5+EF6+MySq

[实战]MVC5+EF6+MySql企业网盘实战(19)——BJUI和ztree

写在前面 上周在博客园看到一篇通用权限系统的文章,看到他那个UI不错,这里就研究了一下,将网盘的UI修改为他的那个,感兴趣的可以参考:http://b-jui.com/ 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实战]MVC5+EF6+MySql企业网盘实战(2)——用户注册 [实战]MVC5+EF6+MySql企业网盘实战(3)——验证码 [实战]MVC5+EF6+MySql企业网盘实战(4)——上传头像

[实战]MVC5+EF6+MySql企业网盘实战(17)——思考2

写在前面 今天吃饭回来,突然有一个更好的想法,这里做一下记录. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实战]MVC5+EF6+MySql企业网盘实战(2)——用户注册 [实战]MVC5+EF6+MySql企业网盘实战(3)——验证码 [实战]MVC5+EF6+MySql企业网盘实战(4)——上传头像 [Bootstrap]modal弹出框 [实战]MVC5+EF6+MySql企业网盘实战(5)——登录界

[实战]MVC5+EF6+MySql企业网盘实战(15)——逻辑重构2

写在前面 上篇文章修改文件上传的逻辑,这篇修改下文件下载的逻辑. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实战]MVC5+EF6+MySql企业网盘实战(2)——用户注册 [实战]MVC5+EF6+MySql企业网盘实战(3)——验证码 [实战]MVC5+EF6+MySql企业网盘实战(4)——上传头像 [Bootstrap]modal弹出框 [实战]MVC5+EF6+MySql企业网盘实战(5)——登录

[实战]MVC5+EF6+MySql企业网盘实战(5)——页面模板

写在前面 上篇文章更新了网盘的登录界面,以及用户头像的等比例压缩功能.今天折腾一下页面的样式,将从网上找的一个模板套用在项目中. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实战]MVC5+EF6+MySql企业网盘实战(2)——用户注册 [实战]MVC5+EF6+MySql企业网盘实战(3)——验证码 [实战]MVC5+EF6+MySql企业网盘实战(4)——上传头像 [Bootstrap]modal弹出框

[实战]MVC5+EF6+MySql企业网盘实战(4)——上传头像

写在前面 最近又开始忙了,工期紧比较赶,另外明天又要去驾校,只能一个功能一个功能的添加了,也许每次完成的功能确实不算什么,等将功能都实现了,然后在找一个好点的ui对前端重构一下. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实战]MVC5+EF6+MySql企业网盘实战(2)——用户注册 [实战]MVC5+EF6+MySql企业网盘实战(3)——验证码 [实战]MVC5+EF6+MySql企业网盘实战(4)—

[实战]MVC5+EF6+MySql企业网盘实战(2)——验证码

写在前面 断断续续,今天算是把验证码的东东弄出来了. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实战]MVC5+EF6+MySql企业网盘实战(2)——用户注册 [实战]MVC5+EF6+MySql企业网盘实战(2)——验证码 验证码类 using System; using System.Collections.Generic; using System.Drawing; using System.IO;