常规文件上传
首先在页面配置一个元素:
html<input type="file" name="file" id="file" accept="image/*" > <!-- 使用label触发 --> <label for="file"> <button type="button">上传</button> </label>
监听选择文件事件:
jsconst fileEl = document.querySelector('#file') const onUploadFileChange = function(event){ // 文件对象 const file = event.target.files[0] // 展示 const fileReader = new FileReader() fileReader.readAsDataURL(file) fileReader.onload = (e)=>{ const base64 = e.target.result const img = new Image(base64) // 用于展示 } // 上传 const formData = new FormData() formData.append('file',file.raw,file.fileName) // 上传方式 1 const ajax = new XMLHttpRequest(); ajax.open("POST", "http://xx.com"); ajax.send(formData); // 上传方式 2 axios.post("http://xx.com",formData) } fileEl.addEventListener('change',onUploadFileChange)
其它文件相关操作可查看:[MDN]在web
应用中使用文件