js原生上传图片,纯js上传文件,原生JS实现文件上传

js原生上传图片,纯js上传文件,原生JS实现文件上传

本文主要详细介绍原生JS文件上传。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。

本文分享JS文件上传的具体代码,供大家参考。具体内容如下

一、目的:

实现上传图片的功能。

二、效果:三、思路:

使用input标签自带的upload,先隐藏它,给upload按钮添加一个click事件,绑定input的click事件。

四、代码:

//html

输入ref= img-upload-input class= img-upload-input type= file accept=。png,jpg @change=submitUpload

El-button style= margin-top:20px type= primary @ click= handleselectedimg 选择图片/el-button

//js

//点击上传按钮。

handleSelectedImg() {

这个。$refs[img-upload-input]。单击()

},

//选中图片后点击打开按钮。

提交上传(e) {

常量文件=e.target.files

const rawFile=files[0] //仅使用文件[0]

如果(!原始文件)返回

this.upload(原始文件)

},

//上传

上传(原始文件){

这个。$refs[img-upload-input]。value=null //fix不能选择同一个excel

如果(!this.beforeUpload) {

返回

}

//检查文件是否满足条件。

const before=this . before upload(raw file)

如果(之前){

//上传事件

this . uploadsectionfile(this . uploadparams,rawFile)

}

},

上传前(文件){

const islt 1m=file . size/1024/1024 50

if (isLt1M) {

返回true

}

Console.log(上传文件小于50M ,警告)

返回false

},

uploadSectionFile(params,file) {

假设数据=参数

Let=newformdata ()//Formdata对象

letobj=file//相当于在input中获得的文件。

fd.append(stationID ,data.stationID)

fd.append(date ,data.date)

Fd.append(file ,fileObj)//文件对象

补充文件。然后(res={

//调用上传接口

})

}

五、注意事项

的封装请求标头为(您不必在以后进行配置)

“content-Type”:“multipart/form-data;”

拦截转换axios请求直接返回

transform request:[函数(数据){

//对数据进行任意转换处理。

返回数据

}],

六、常见问题

1.上传文件的同时想上传其他参数怎么办?

您可以将参数和文件放在file对象中。

设fd=新表单数据()

Fd.append(file ,file)//file

fd.append(param1 ,参数)

2.文件大小的限制。

1)限制前端上传文件时可选的文件大小。

2)、后端回弹限制

3) nginx配置限制。当前端发送请求,后端没有收到时,可以检查nginx配置。

这就是本文的全部内容。希望对大家的学习有帮助,支持我们。

js原生上传图片,纯js上传文件,原生JS实现文件上传