angular 8 表单带文件上传接口
<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 表单带文件上传接口的更多相关文章
- Struts2文件上传(基于表单的文件上传)
•Commons-FileUpload组件 –Commons是Apache开放源代码组织的一个Java子项目,其中的FileUpload是用来处理HTTP文件上传的子项目 •Commons-Fil ...
- [原创]java WEB学习笔记49:文件上传基础,基于表单的文件上传,使用fileuoload 组件
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- 传统表单提交文件上传,以及FormData异步ajax上传文件
传统的文件上传: 只用将form表单的entype修改成multipart/form-data,然后就可以进行文件上传,这种方式常用并且简单. 以下是另一种方式FormData,有时候我们需要ajax ...
- 表单多文件上传样式美化 && 支持选中文件后删除相关项
开发中会经常涉及到文件上传的需求,根据业务不同的需求,有不同的文件上传情况. 有简单的单文件上传,有多文件上传,因浏览器原生的文件上传样式及功能的支持度不算太高,很多时候我们会对样式进行美化,对功能进 ...
- ajax提交表单,支持文件上传
当我们提交表单但是又不想要刷新页面的时候就可以考虑使用ajax来实现提交功能,但是这有个局限就是当有文件上传的时候是行不通的,下面借助于jquery.form可以很方便满足我们的需求. 1.表单写 ...
- php+form表单的文件上传
<!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...
- AJAX 表单提交 文件上传
1. AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载 ...
- 2020最新Servlet+form表单实现文件上传(图片)
servlet实现文件上传接受 这几天学了一点文件上传,有很多不会,在网查了许多博客,但是最新的没有,都比较久了 因为我是小白,版本更新了,以前的方法自己费了好久才弄懂,写个随笔方便以后查找 代码奉上 ...
- form表单多文件上传
1.html/jsp主页 <%@ page language="java" contentType="text/html; charset=UTF-8" ...
随机推荐
- 如何利用FL Studio进行音乐合并
FL Studio20是Fruity Loops Studio的简称,也叫做水果音乐制作软件.它是一款功能十分强大的音乐制作软件,将作曲.编曲.混音.录音.大碟等功能集合一体,外接MIDI即可成为一个 ...
- jQuery 第九章 工具方法之插件扩展 $.extend() 和 $.fn.extend()
$.extend() $.fn.extend() -------------------------------------------------- $.extend() 插件扩展(工具方法) jq ...
- 【问题记录】— web页面调用本地程序
起因: 最近由于项目需要在web页面中调用本地部署的exe程序:进而对该功能实现做了对应了解:以及存在的问题进行记录. 要实现该功能就不得不说浏览器自定义协议:解决办法:那么它是什么呢? 浏览器自定义 ...
- VM15 Ubuntu18.04 安装c/c++
输入"su"再输入密码即进入根用户,(gcc是默认安装的,但刚安装完成的系统中的gcc并不能用来开发,还缺少常用的头文件和库文件,还组要安装build-essential 软件包) ...
- LeetCode 046 Permutations
题目要求:Permutations(全排列) Given a collection of numbers, return all possible permutations. For example, ...
- web 应用、 框架 及HTTP协议
web 应用 一.web 应用程序是什么 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件 应用程序有两种模式C/ ...
- 第7.12节 可共享的Python类变量
第7.12节 可共享的Python类变量 一. 引言 在上节已经引入介绍了类变量和实例变量,类体中定义的变量为类变量,默认属于类本身,实例变量是实例方法中定义的self对象的变量,对于每个实例都 ...
- 老猿学5G扫盲贴:中国移动的5G计费架构解读
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.引言 在<老猿学5G扫盲贴:3GPP中的 ...
- PyQt(Python+Qt)学习随笔:toolButton的popupMode属性
属性介绍 toolButton的popupMode属性为设有菜单集或Action列表的toolButton指定菜单弹出模式,类型为枚举类型ToolButtonPopupMode,有如下三种模式: 1. ...
- 安卓学习02---room
title: 安卓学习02---room date: 2020-02-02 18:20:13 tags: room是jetpack的组件,可以使程序流畅的访问sqlite. <!--more - ...