更新时间:2021年2月17日

今天是作业模块最后一个内容:
图片类型作业:

这里我们是之前弄好的
文件和图片是一个性质,所以添加作业可以直接公用,只用修改作业类型就可以

现在我们主要是要弄,学生提交图片的功能
为什么要把图片类型作业分来开呢?
1:大部分作业只是一张截图
2:我们要实现自动打水印的功能
3:我们要实现图片自动识别,不能上传差距过大的图片

api:

进入页面跳转:

注意,这里我们传过去的是workid,我们后端需要student_id

提交数据:

我们后端:

  [HttpPost]public async Task<IActionResult> sendImg(string myimg,int id){if (myimg != null){DateTime dateTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));string filename = Guid.NewGuid().ToString();var student_workData = await _student__WorkBll.GetEntities(n => n.id == id).FirstOrDefaultAsync();student_workData.is_complete = 1;student_workData.student_file_name = filename + ".jpg";student_workData.time_complete = dateTime;student_workData.work_score = 100;student_workData.work_score_time = dateTime;Common.SaveImage.ByStringToSave(filename, myimg);//if (System.IO.File.Exists("./wwwroot/StudentImage1/陈淳.jpg"))//    if (Common.SaveImage.Compare("./wwwroot/StudentImage/" + name + ".jpg", "./wwwroot/StudentImage/陈淳.jpg") > 20)//    {//        diffImg = "2";//    }_student__WorkBll.Update(student_workData);return Content(JsonFactory.Json(message:"作业提交成功!"));}else{return Content(JsonFactory.Json(flag: false, message: "作业提交失败!"));}}

注释的地方为图片识别功能,目前先留个坑

效果测试:
我们切换教师账号,添加 课程为:前端的一个作业,类型为图片


添加作业
后来发现这里出问题了,由于图片类型作业,不需要上传图片!
我们后端改改:

  [HttpPost][Obsolete]public IActionResult AddWork([FromServices] IHostingEnvironment env, IFormFile formFile, [FromForm] string work_name, [FromForm] DateTime time_start, [FromForm] DateTime time_end, [FromForm] int curriculum_id)//教师添加作业{string filename = Guid.NewGuid().ToString() + ".jpg";string filepub = Path.Combine(env.WebRootPath, "WorkFiles", filename);//完整目录string fileexit = Path.Combine(env.WebRootPath, "WorkFiles");//文件目录名if (formFile == null){ //文件名:唯一标识号.jpgif (!Directory.Exists(fileexit)){Directory.CreateDirectory(fileexit);}using (var stream = new FileStream(filepub, FileMode.Create)){formFile.CopyTo(stream);}}work workData = new work();workData.curriculum_id = curriculum_id;workData.work_name = work_name;workData.time_start = time_start;workData.time_end = time_end;workData.teacher_id = teacherId;workData.work_file_name = filename;workData.work_file_route = filepub;var workDataResult = _workBll.Add(workData);//将作业添加到作业表中//要想添加学生课程关系表的话,需要知道学生id,学生id通过该课程id来查找var student__Curriculums = _student__CurriculumBll.GetEntities(n => n.curriculum_id == workDataResult.curriculum_id).ToList();List<student__work> student__Works = new List<student__work>();foreach (var k in student__Curriculums){student__work student__WorkData = new student__work();student__WorkData.is_complete = 0;student__WorkData.time_complete = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));student__WorkData.student_id = k.id;student__WorkData.work_id = workDataResult.id;student__WorkData.work_score = -1;student__Works.Add(student__WorkData);}_student__WorkBll.Add(student__Works);return Content(JsonFactory.Json(message: "作业添加成功!所有课程下的学生已发布作业!"));}


报错
这个问题是数据库的问题,datetime对应的是datetime2类型!!
这个真的是大坑
我们修改数据的时间类型即可解决


作业也加进来了
切换学生账号,开始写作业
进入后:


选择图片输出水印

提交
出问题了
由于传输数据太大,无法直接接收对象
我们改改:


ok
后端得到数据了,写入进文件夹中:


水印也保存了!!
查看数据库:

ok,完成了!!
还差最后一个东西
就是将数据展示出来:
数据展示:

效果:

ok,大功告成!

下一次,弄作业和课程的删除与修改操作

消息模块:这个东西,真的算比较复杂的。。。有点不太想弄下去了!目前没想好这么弄
设置模块:一切从简,就设置一个主题颜色得了
差不多,整个系统正在健全
目前难度最大的:统计模块
这个算真的难受,难度不大,但是极其复杂,涉及超多张表的查询连接处理

差不多,快了,加油!寒假也快过了,距离现在差不多7-8天的样子
我必须要留2到3天给开发环境
那真正弄玩的话,只能留给我5天时间(太难了)

【橙子日记32】从零开始的毕业设计相关推荐

  1. 【橙子日记18】从零开始的毕业设计

    更新时间:2021年1月30日 作者心得 不忘初心 我这个是毕业设计 始于毕业设计,终于毕业设计 毕业设计=成果+论文+ppt+其他 在我看来,成果要占主要地位的,其实不然,论文一样重要! 目前这个东 ...

  2. 【橙子日记30】从零开始的毕业设计

    更新时间:2021年2月14日 今天任务: 完成后端3种作业类型表实体(选择题,判断题,问答题) 数据库设计 思考了一下,这样弄是行不通的! 教师创建作业,会在学生作业关系表种添加字段,代表,某个学生 ...

  3. 【橙子日记36】从零开始的毕业设计

    更新时间:2021年2月24日 完善细节: 信息界面优化: 添加收缩菜单操作: 主要都是前端优化: 代码: 封装圆饼图: <template><div><div ref= ...

  4. 【橙子日记04】从零开始的毕业设计

    更新时间:2021年1月14日 前端: 140分钟的考试,我花了40分钟写完,emmm 剩下的时间想了下前端的界面 导航栏弄了下,省的一以后路由切来切去 学生课程界面设计以了下 效果还可以,响应式布局 ...

  5. 【橙子日记21】从零开始的毕业设计

    更新时间:2021年2月4日 设计登入页面 要求: 主题为黑蓝色 响应式布局 登入,注册,忘记密码3个页面 验证码功能 邮箱功能 方框采用尖脚,不需要圆弧 成果: 由于这种登入注册之类的界面网络上多如 ...

  6. 【橙子日记22】从零开始的毕业设计

    更新时间:2021年2月5日 今天来填个坑 关于 课程图标的上传操作: 数据库 添加logo字段,其实就是保存logo的文件名即可 前端 我直接放源码吧,因为改了很多很多次,中间的过程没有记录到 (鬼 ...

  7. 【橙子日记17】从零开始的毕业设计

    更新时间:2021年1月29日 今天负责echar模块 之前: 由于这个东西,学的不多,之前只是单一的放进去了而已 现在我们要做的,是深度将他理解,把他封装! 首页 既然是首页 自然要放点厉害的东西 ...

  8. 暑期学习日记32:导航栏和导航下拉菜单

    今天学习了用HTML+CSS制作导航栏和下拉菜单.代码如下: <!doctype html> <html> <head> <meta charset=&quo ...

  9. java计算机毕业设计教学互动跟踪系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计教学互动跟踪系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计教学互动跟踪系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S ...

最新文章

  1. 牛客网 暑期ACM多校训练营(第一场)J.Different Integers-区间两侧不同数字的个数-离线树状数组 or 可持久化线段树(主席树)...
  2. datanode无法启动问题
  3. 透彻,在SpringBoot项目中使用Netty实现远程调用
  4. Linux常用服务部署与优化之NFS篇
  5. python怎么更新数据库_在Python的Django框架中更新数据库数据的方法
  6. MOS管的主要参数与重要特性
  7. buck变换器设计matlab_一种用于Boost PFC变换器的改进关断时间控制策略
  8. spring字符串判空_字符串工具类StringUtils实现字符串是否中文、字符串分割/判空/替换/查找、是否包含乱码及字符串数组合并等常规操作...
  9. 树的合并 connect
  10. inner join on, left join on, right join on讲解
  11. 关系抽取(分类)总结【转载】
  12. 基于JavaScript+css的购物网站项目
  13. React Native布局实践:开发京东客户端首页遇到的坑
  14. 一台电脑借助另一台电脑实现上网
  15. cad修改快捷键_CAD新手攻略:修剪(TRIM)CAD命令快捷键的使用技巧
  16. 华为鸿蒙目标一年跨过生死线
  17. linux小红帽如何封闭端口,安装红帽子Linux的几点注意
  18. 小说作者推荐:焦糖冬瓜合集
  19. PS2018学习笔记(03-18节)
  20. 比乌镇人少!西塘安静!杭州这3个古镇 1h 直达!

热门文章

  1. 安科瑞高精度开口电流互感器的规格(安科瑞-卓宋兰)
  2. 不骚不浪不军棋老师四国军棋理论理解之菜鸟用司令和高手用司令
  3. Java入门编码规范之小白崛起
  4. 2009年12月12日
  5. BCELoss和BCEWithLogitsLoss的区别
  6. LT6911C:龙讯-接收器-HDMI1.4转双MIPI DSI / CSI与音频
  7. 第一时间解读考研英语大纲
  8. 百度地图sdk的简单应用
  9. __packed 关键字 的作用
  10. 陈安之:成功者都运用“潜意识”的力量