当前位置: 首页 > news >正文

一个公司网站备案线上it培训机构

一个公司网站备案,线上it培训机构,做老师一些好的网站,注册电气工程师考试效果&#xff1a;拖拽文件到组件上面时 边框变大变红 松手后发送到服务器(或者点击蓝字手动选择文件)并且把文件名显示在框内&#xff0c;美化还没做 html <div class"drapBox"><div id"drop" (dragenter)"dragenter($event)" (dragov…

效果:拖拽文件到组件上面时 边框变大变红 松手后发送到服务器(或者点击蓝字手动选择文件)并且把文件名显示在框内,美化还没做

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

html

<div class="drapBox"><div id="drop" (dragenter)="dragenter($event)" (dragover)="dragover($event)" (dragleave)="dragleave($event)"on-drop="drop($event)" [ngClass]="{'dragover':isdragover,'notdragover':!isdragover}"><div class="desc">Drag files here, or</div><label for="file" class="input_desc"><input class="drag-message-input" type="file" id="file" name="file" on-change="inputFile($event)" /><span class="drag-message-manual">click to select</span></label></div><div id="selectedFilesBox" class="absflex" *ngIf="selectedFilesName.length>0"><div class="allFileDesc">{{selectedFilesCount}} files selected:</div> <div class="fileDesc" *ngFor="let item of selectedFilesName">{{item}}</div></div>
</div>

Ts

import { Component } from '@angular/core';
import { Observable, catchError, of, switchMap } from 'rxjs';
import { HttpClient } from '@angular/common/http';
@Component({selector: 'app-filedrag',templateUrl: './filedrag.component.html',styleUrls: ['./filedrag.component.css']
})
export class FiledragComponent {isdragover:boolean=false;selectedFilesName:string[]=[];selectedFilesCount:number = 0;constructor(private http: HttpClient){}dragover(e:Event){e.stopPropagation();e.preventDefault();this.isdragover=true;console.log("dragover");}dragleave(e:Event){e.stopPropagation();e.preventDefault();this.isdragover=false;console.log("dragleave");}dragenter(e:Event){e.stopPropagation();e.preventDefault();console.log("dragenter");}drop(e:any){e.stopPropagation();e.preventDefault();this.isdragover=false;let dataTransfer=e.dataTransfer;let files=dataTransfer.files;console.log("files:");console.log(files);this.showSelectedFiles(files);this.handleFiles(files).subscribe();}inputFile(e:any){console.log(e.target.files);this.showSelectedFiles(e.target.files);this.handleFiles(e.target.files).subscribe();
}
showSelectedFiles(files: FileList): void{this.selectedFilesName = [];this.selectedFilesCount = files.length;for(let i=0;i<files.length;i++){this.selectedFilesName.push(files[i].name);}}
handleFiles(filesToUp: FileList): Observable<{message:string}> {const url: string = "http://127.0.0.1:5000/up_file";const formData: FormData = new FormData();for(let i=0;i<filesToUp.length;i++){formData.append('files', filesToUp[i]);}return this.http.post<any>(url, formData).pipe(switchMap((res: {message:string}) => { console.log(res); return of(res); }),catchError(er=>{console.log(er);return of({message:"error"})}));
}}

Css

.drapBox{position: relative;width: 300px;height: 300px;
}
#drop {position: absolute;width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;z-index: 100;}
.dragover{border: 2px dashed red;zoom:108%;
}
.notdragover{border: 2px dashed grey;
}#file {display: none;
}
.desc{font-size: 1rem;
}
.input_desc {padding-left: 5px;font-size: 1rem;color: #4b87ff;cursor: pointer;
}
.absflex{position: absolute;width: 100%;height: 100%;
}
.allFileDesc{padding: 5px;
}
.fileDesc{display: inline-block;padding: 5px;border: 1px solid #4b87ff;font-style: italic;width: auto;height: 20px;
}

后端python flask代码一起贴上

# -*- coding: utf-8 -*-
from flask import Flask,request
from flask import send_from_directory,render_template
from flask_cors import CORS# r'/*' 是通配符,让本服务器所有的URL都允许跨域请求app = Flask(__name__)
CORS(app, resources=r'/*')
@app.route("/up_file", methods=["POST", "GET"])
def file_receive():# try:files = request.files.getlist("files")print(files)if files is None:  # 表示没有发送文件return {'message': "failed"}else:return {'message': "success"}
if __name__ == '__main__':app.run(debug=True)
http://www.khdw.cn/news/30045.html

相关文章:

  • 灰色词秒收录代发高中同步测控优化设计答案
  • 做网站卖成人用品怎么样网络营销运营策划
  • 网页模板素材大全seo sem推广
  • 树莓派做网站服务器怎样域名注册平台有哪些
  • 自媒体网站模板优化推广联盟
  • 如何做网站弹窗广告扬州百度关键词优化
  • 自媒体视频剪辑教学视频最好的优化公司
  • 淘宝客如何做网站推广营销大的公司
  • p2p网站开发方法建立网站需要多少钱
  • 网站开发工具可视化网页浏览器
  • 网站建设公司有哪些方面推广策略怎么写
  • 网站演示网站代码中国百强企业榜单
  • 成都网站建设028net武汉疫情最新动态
  • 自己做网站系统首选平台中国纪检监察报
  • 南京网站排名青岛百度seo
  • 广告图片素材seo自动优化工具
  • 大连做网站的cms建站
  • c 做网站怎么发布百度排名服务
  • 做电商需要哪些网站有哪些在线看网址不收费不登录
  • 如何学做网站全套教程网络营销工作内容
  • 网站建设中英文表述网络销售有哪些
  • 唐山网站提升排名2024年小学生简短小新闻
  • net后缀做公司网站新东方一对一辅导价格
  • wordpress如何直接设置下载武汉搜索引擎排名优化
  • 江西建设网站站外推广渠道有哪些
  • wordpress 热门排行常州seo
  • 三亚北京网站建设百度业务推广
  • 九江网站建设公司网站建设的整体流程有哪些
  • 中山建设网站官网深圳哪里有网络推广渠避
  • 罗湖做网站58软文案例500字