用户登录

在文件内容页面上,可以再添加一个删除按钮 ... 按一下它可以删除当前显示的文件内容还有上传的文件 .. 回到项目 .. 打开 file.show 这个视图 ...

添加一个新的导航项目 .. li .. nav-item .. 里面是个 form .. 表单的 action 可以用一个 route 方法 .. 路由的名字是 files.destroy .. 需要一个 id 参数 .. 值是 file 里的 id .. 再添加一个 _method 属性 .. 值是 DELETE .. 再把表单的 method 设置成 POST ..

然后再添加一个 csrfToken 字段 .. 用一下 csrfField 生成这个字段 ..

添加一个按钮 .. 上面加上 nav-link btn btn-link .. 按钮的类型是 submit .. 按钮上的文字是 Delete ..

再打开 FileController ... 找到处理删除资源请求用的方法 .. 就是这个 destroy .. 方法里面需要用到 params .. response ... 还有 session

一组 try ... catch 区块 ..

先找到文件数据 .. 添加一个 fileData .. await .. File.findOrFail .. 找到 params.id ..

添加一个文件路径 ... filePath ... 它的值可以是 Helpers.publicPath('uploads') .. 斜线 .. 加上 file 里的 file_name ..

下面再 await .. 执行一下 Drive 上的 delete .. 把指定的文件删除掉 .. 文件的位置就是 filePath ..

再 await .. 执行一下 fileData.delete .. 把文件数据记录删除掉 .. session.flash .. type 是 success ... 具体的 message .. 可以先用一组 small 标签 .. 包装一下文件的名字 .. fileData.client_name .. successfully deleted.

然后 return 重定向 .. 地址可以用一下 Route.url .. files.index ... 在文件的顶部,我们再把需要用的这个 Route 导入进来 .. 名字是 Route ... 用一下 Route ...

再回到 destroy 方法...

如果有什么错误 .. 用一下 session.flash ... type 是 warning .. message 是 error 里的 message ... return 重定向 .. redirect ..back ..

再找到文件列表视图 ... file.index ... 这里可以用一下我们定义的 alert 组件 .. 找一个使用了这个组件的视图 .. 复制一下这块代码 ... 把它粘贴到这个列表视图里面 ..

预览

回到浏览器 .. 再试一下 ... 访问一下文件列表 ... 打开一个文件页面 ... 为了证明我们删除文件数据的时候把文件本身也删除掉了,可以先编辑一下这个文件 .. 修改一下它的 File name .. 比如 hello .. 提交一下修改 ..

回到项目 ... 你会看到,在 public .. uploads 下面,有个叫 hello 的图像文件 ..

再回到这个文件页面 ... 点一下页面上的这个 Delete ... 成功以后,会重定向到这个文件列表页面 .. 回到项目 ..

在 uploads 目录下面,之前的 hello 图像文件已经被删除掉了 ..

这个提示信息的上边可以留点边距 .. 回到 file.index 视图 .. 在这个 container 上面,再添加一个 my-5 ...

回到浏览器 .. 打开一个文件内容页面 ... 再试一下 ... Delete ...

删除文件(Drive.delete)《 Node.js 应用:文件系统 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点