vue+springboot+element+vue-resource 파일 업로드 튜 토리 얼 구현
5839 단어 vuespringbootelementvue-resource
<el-upload
class="upload-demo"
action=""
:before-upload="beforeUpload" //
:before-remove="beforeRemove" //
:multiple="false" //
:http-request="myUpload" // , ,action
accept=".jar" //
:drag="false"
:data="param" //
:file-list="fileList">//
<el-button size="small" type="primary"> </el-button>
<div slot="tip" class="el-upload__tip"> jar , 500kb</div><!-- :headers="head"-->
</el-upload><!--:on-preview="handlePreview"-->
/* , , */
beforeUpload(file){
console.log(" ",file.name,this.fileList)
for (let i = 0; i <this.fileList.length ; i++) {
if (this.fileList[i].name==file.name) {
this.$message.info(" ");
return false;
}
}
this.file=file;
return true;
},
/* , */
beforeRemove(file,fileList){//delJar
this.$confirm(' , ?', ' ', {
confirmButtonText: ' ',
cancelButtonText: ' ',
type: 'warning'
}).then(() => {
this.$http.get('/aaaa/task/del?taskId='+this.taskId+'&name='+file.name).then(function(res) {
......
});
}).catch(() => {
this.getJarList();
return false;
});
},
/* , ,action */
myUpload(file){
let fd = new FormData();
fd.append('file',this.file);//
fd.append('taskId',this.taskId);//
// fd.append('filename',file.name);//
this.$http.post('/aaaa/task/add',fd).then(function(res) {
....
});
},
fileList 대상 의 내용
name:"xxxx.jar"
status:"success"
uid:123456456
매개 변수
this.param={
taskId:this.taskId
}
springboot 설정1.요청 한 주석:produces="multipart/form-data;charset=utf-8", method = RequestMethod.POS
@RequestMapping(value = "/add", produces = "multipart/form-data;charset=utf-8", method = RequestMethod.POST)
public String addJar(int taskId, HttpServletRequest request) throws IOException, ServletException {
....
//
Part part = request.getPart("file");// input name
String dis = part.getHeader("Content-Disposition");
// --sdsf.jar
String fna = dis.substring(dis.indexOf("filename=") + 10, dis.length() - 1);
String fname = fna.substring(fna.lastIndexOf("\\") + 1, fna.length());// +
// , , , ,
if (fname.length() < 1) {
//
}
....
}
추가 지식:elementUI upload 그림 파일 을 지정 한 백 엔 드 인터페이스 에 업로드 하 는 방법1.일반 백 엔 드 에서 인터페이스 업로드 파일 을 제공 할 때 매개 변수 가 있 습 니 다.만약 우리 가 참 고 를 전달 하지 않 으 면 잘못 보고 하거나 그림 이 존재 하지 않 는 다 고 표시 하여 업로드 에 실패 할 것 입 니 다.그래서 우 리 는 그의 문 서 를 참고 해 야 한다.action 은 업로드 경로;=name===바로 전 삼 의 속성(관건)입 니 다.
imageUrl: '',
<el-form-item label=" " :required="true">
<el-upload class="avatar-uploader" action="http://xxx.cn/xx/file/uploadImg/" name='photo' :show-file-list="false"
:on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
handleAvatarSuccess(res, file) {
console.log(res)
console.log(file)
this.imageUrl = URL.createObjectURL(file.raw);
console.log(this.imageUrl)
},
//
beforeAvatarUpload(file) {
const isJPG = file.type === 'image/jpeg';
const isLt2M = file.size / 1024 / 1024 < 2;
if (!isJPG) {
this.$message.error(' JPG !');
}
if (!isLt2M) {
this.$message.error(' 2MB!');
}
return isJPG && isLt2M;
},
css 코드
/* css */
.avatar-uploader /deep/.el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 100px;
height: 100px;
line-height: 100px;
text-align: center;
}
.avatar {
width: 100px;
height: 100px;
display: block;
}
elementUI 문서 참조:https://element.eleme.cn/#/zh-CN/component/upload이 vue+springboot+element+vue-resource 는 파일 업로드 튜 토리 얼 을 실현 하 는 것 이 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 하 시기 바 랍 니 다.여러분 들 도 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fastapi websocket 및 vue 3(Composition API)1부: FastAPI virtualenv 만들기(선택 사항) FastAPI 및 필요한 모든 것을 다음과 같이 설치하십시오. 생성main.py 파일 및 실행 - 브라우저에서 이 링크 열기http://127.0.0.1:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.