<div id="homework">

    <form (ngSubmit)="doSubmit()" enctype="multipart/form-data">

                    <mat-label>作业标题</mat-label>
<mat-icon matSuffix class="secondary-text">account_circle</mat-icon>
<input name="title" required [(ngModel)]="homeWork.title">
<br> <mat-label>作业内容</mat-label>
<textarea name="description" [(ngModel)]="homeWork.description" max-rows="4"></textarea>
<br>
<mat-label>文件</mat-label>
<input name="file" type="file" (change)="upload($event)">
<br> <button *ngIf="homeWork.id !== ''"
aria-label="Delete"
matTooltip="Delete">
DELETE
</button> <input type="submit" aria-label="SAVE" value="SAVE"> </form> </div>

  

    upload(e): void{
this.file = e.target.files[0];
} doSubmit(): void {
const formData: FormData = new FormData(); formData.append('file', this.file);
formData.append('id', this.homeWork.id);
formData.append('title', this.homeWork.title);
formData.append('description', this.homeWork.description);
formData.append('teacher_id', this.authentication.id);
formData.append('course_id', this.courseId); this._courseService.updateHomeWork(formData).then( (res) => {
alert(res.msg);
} ); }

  

    /**
* 保存或者更新老师布置的作业
* @param formData ,老师布置的作业
*/
updateHomeWork(formData ): Promise<any>
{
return new Promise((resolve, reject) => {
const header: HttpHeaders = new HttpHeaders();
header.set('Content-Type', 'multipart/form-data');
this._httpClient.post(this._fuseConfigService.configSnapshot.url + '/api.php/rest/homeworks/file',
formData,
{headers: header }
)
.subscribe(response => {
// 添加成功后重新获取最新的作业信息
this.getHomeWork();
resolve(response);
}); });
}

  

angular 8 表单带文件上传接口的更多相关文章

  1. Struts2文件上传(基于表单的文件上传)

    •Commons-FileUpload组件 –Commons是Apache开放源代码组织的一个Java子项目,其中的FileUpload是用来处理HTTP文件上传的子项目   •Commons-Fil ...

  2. [原创]java WEB学习笔记49:文件上传基础,基于表单的文件上传,使用fileuoload 组件

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  3. 传统表单提交文件上传,以及FormData异步ajax上传文件

    传统的文件上传: 只用将form表单的entype修改成multipart/form-data,然后就可以进行文件上传,这种方式常用并且简单. 以下是另一种方式FormData,有时候我们需要ajax ...

  4. 表单多文件上传样式美化 && 支持选中文件后删除相关项

    开发中会经常涉及到文件上传的需求,根据业务不同的需求,有不同的文件上传情况. 有简单的单文件上传,有多文件上传,因浏览器原生的文件上传样式及功能的支持度不算太高,很多时候我们会对样式进行美化,对功能进 ...

  5. ajax提交表单,支持文件上传

    当我们提交表单但是又不想要刷新页面的时候就可以考虑使用ajax来实现提交功能,但是这有个局限就是当有文件上传的时候是行不通的,下面借助于jquery.form可以很方便满足我们的需求.   1.表单写 ...

  6. php+form表单的文件上传

    <!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. AJAX 表单提交 文件上传

    1. AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载 ...

  8. 2020最新Servlet+form表单实现文件上传(图片)

    servlet实现文件上传接受 这几天学了一点文件上传,有很多不会,在网查了许多博客,但是最新的没有,都比较久了 因为我是小白,版本更新了,以前的方法自己费了好久才弄懂,写个随笔方便以后查找 代码奉上 ...

  9. form表单多文件上传

    1.html/jsp主页 <%@ page language="java" contentType="text/html; charset=UTF-8" ...

随机推荐

  1. 通过Camtasia来添加各种各样的光标效果

    在十几二十年前的时候,我们想要学习新的知识需要到学校和培训班才行,但是现在只要有一台电脑.一部手机或者平板,我们在家里也能找到我们喜欢的课程来学习了,微课也因此而生. 同样的,有了想要学习知识的学生, ...

  2. vulnhub: DC 9

    信息收集: root@kali:/opt/test# nmap -A -v 192.168.76.137 Starting Nmap 7.80 ( https://nmap.org ) at 2020 ...

  3. yii2.0 设置默认路由

    在config/web.php 添加 $config = [ 'defaultRoute' => 'login/login', ];

  4. Linux中influx数据库进程杀不掉,父进程为1

    influx数据库一直杀不掉,父进程为1是个僵尸进程 后来我才发现,influx是运行运行状态 我只需要使用命令,停掉influx即可停止改进程

  5. [笔记] dumpsys meminfo数据与smaps文件对应关系

    通过cat /proc/$PID/smaps可以查看进程内存的详细映射情况.详细解析可以参考kernel的文档/Documentation/filesystems/proc.txt 如果我们的Andr ...

  6. LeetCode 018 4Sum

    题目描述:4Sum Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c ...

  7. fist-第三天冲刺随笔

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 这个作业要求在哪里 https://edu.cnblogs.com/campus/fz ...

  8. PyQt(Python+Qt)学习随笔:QListWidget的sortingEnabled属性

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QListWidget的sortingEnabled属性用于控制列表部件中的项是否可以排序,如果为T ...

  9. PyQt学习随笔:Model/View中诸如DisplayRole的数据角色及含义

    在PyQt中,模型可以针对不同的组件(或者组件的不同部分,比如存储数据.界面展示数据.按钮的提示等)提供不同的数据.例如,Qt.DisplayRole用于视图的文本显示.通常来说,模型中的数据项包含一 ...

  10. 攻防世界 ctf web进阶区 unserialize

    进入到题目的界面,看到以下源码 构造payload=?code=O:4:"xctf":1:{s:4:"flag";s:3:"111";} 结 ...