基础应用-文件上传/下载

背景说明

背景:假设有一张student_file表。这个表存储的是学生维度的文件。
需求:创建对应的管理页来管理这些文件数据

数据库表如下:

  1. CREATE TABLE `student_file` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `downloadPath` varchar(255) DEFAULT NULL COMMENT '文件下载路径',
  4. `filename` varchar(255) DEFAULT NULL COMMENT '文件名',
  5. `binarySize` varchar(255) DEFAULT NULL COMMENT '文件大小',
  6. `studentName` varchar(255) DEFAULT NULL COMMENT '学生名字',
  7. `docType` varchar(255) DEFAULT NULL COMMENT '文档类型',
  8. `remarks` varchar(255) DEFAULT NULL COMMENT '备注',
  9. `operation` varchar(255) DEFAULT 'insert' COMMENT '操作; insert, update, jhInsert, jhUpdate, jhDelete jhRestore',
  10. `operationByUserId` varchar(255) DEFAULT NULL COMMENT '操作者userId',
  11. `operationByUser` varchar(255) DEFAULT NULL COMMENT '操作者用户名',
  12. `operationAt` varchar(255) DEFAULT NULL COMMENT '操作时间; E.g: 2021-05-28T10:24:54+08:00 ',
  13. PRIMARY KEY (`id`) USING BTREE
  14. ) ENGINE=InnoDB AUTO_INCREMENT=205 DEFAULT CHARSET=utf8mb4;

方法1: 使用jianghu-init page 1table-file-page生成页面

  1. $ cd my-project
  2. $ jianghu-init page --type=1table-file-page
  3. 初始化数据库连接成功
  4. 开始生成 CRUD
  5. ? 请选择你要生成 crud 的表 student_file
  6. { tables: [ 'student_file' ] }
  7. 开始生成 student_file CRUD
  8. ? student_file】数据表pageId studentFileManagement
  9. init crud is success
  10. jianghu init page is success
  11. $ npm run dev
  12. 2023-04-10 19:53:34,850 INFO 75042 [master] agent_worker#1:75046 started (771ms)
  13. 2023-04-10 19:53:35,709 INFO 75042 [master] @jianghujs/jianghu started on http://127.0.0.1:7001 (1631ms)

浏览器访问:http://127.0.0.1:7001

1table-file.png

方法2: 使用jianghu-init project 1table-crud-file生成项目

1table-crud-file项目里面讲的就是文件上传的案例,我们可以从这个项目里拷贝代码,然后适配代码 来实现我们的需求。

  1. $ jianghu-init project --type=1table-crud-file my-1table-crud-file
  2. ? project name my-1table-crud-file
  3. ? project description
  4. ? project author
  5. ? cookie security keys 1681128110653_3355
  6. ? database name my_1table_crud_file
  7. ? 数据库IP 127.0.0.1
  8. ? 数据库端口: 3306
  9. ? 数据库账号: root
  10. ? 数据库密码: 123456
  11. 目录切换 my-1table-crud-file
  12. 初始化`数据库基本表和数据`完成
  13. usage:
  14. - cd /xxx/my-1table-crud-file
  15. - npm install
  16. - npm start / npm run dev
  17. jianghu init project is success
  18. $ cd my-1table-crud-file
  19. $ npm i
  20. $ npm run dev
  21. 2023-04-10 19:53:34,850 INFO 75042 [master] agent_worker#1:75046 started (771ms)
  22. 2023-04-10 19:53:35,709 INFO 75042 [master] @jianghujs/jianghu started on http://127.0.0.1:7001 (1631ms)

浏览器访问:http://127.0.0.1:7001 用户名admin密码123456
1table-crud (1).png