一、单上传一个文件给后端
<input type="file" id="fileInput"> <button id="uploadBtn">Upload</button>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script> <script> document.getElementById('uploadBtn').addEventListener('click', () => { const fileInput = document.getElementById('fileInput'); const file = fileInput.files[0]; // 获取文件
const formData = new FormData(); formData.append('file', file); // 将文件添加到 FormData 中
axios.post('/upload', formData) .then(response => { console.log('File uploaded successfully'); }) .catch(error => { console.error('Error:', error); }); }); </script>
|
1、这是一个专门用来接收文件的东西,它有一个特别的属性file,上传的文件就存储在这个file里面。file是一个元组的数据类型。
2、创建一个 const formData = new FormData(); 玩意,并且将其添加到里面
3、在通过axios来进行传送
二、同时上传文件和字符串
<input type="file" id="fileInput"> <input type="text" id="textInput" placeholder="Enter some text"> <button id="uploadBtn">Upload</button>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script> <script> document.getElementById('uploadBtn').addEventListener('click', () => { const fileInput = document.getElementById('fileInput'); const textInput = document.getElementById('textInput'); const file = fileInput.files[0]; // 获取文件 const text = textInput.value; // 获取输入的字符串
const formData = new FormData(); formData.append('file', file); // 将文件添加到 FormData 中 formData.append('text', text); // 将字符串添加到 FormData 中
axios.post('/upload', formData, { headers: { 'Content-Type': 'multipart/form-data' } }) .then(response => { console.log('File and text uploaded successfully'); }) .catch(error => { console.error('Error:', error); }); }); </script>
|
一样的操作