在現代前端開發中,有很多情況下需要實現文件上傳功能,比如用戶頭像、公司資質等等。在傳統的網站開發中,一般是直接上傳到服務器文件夾里面,但是這些文件往往會占用很大的服務器硬盤空間,給后期維護帶來不便。所以,現在一般會使用云存儲來存放這些上傳的文件,常見的云存儲有七牛、阿里云OSS、騰訊云COS等等。本篇文章將會介紹如何使用Vue框架和阿里云OSS實現文件上傳。
在本文中,我們將使用Vue CLI創建一個Vue項目,并集成阿里云OSS進行文件上傳。由于涉及到OSS的安全問題,我們并不想把AccessKey和AccessSecret這樣的敏感信息直接寫在前端代碼中,因此我們需要設置代理,通過后臺代理訪問OSS服務端接口。
// vue.config.js module.exports = { devServer: { proxy: { '/api': { target: 'https://your-server/api', changeOrigin: true, pathRewrite: { '^/api': '' } } } } }
使用Vue框架進行文件上傳,最關鍵的就是處理上傳文件的邏輯,我們需要引入阿里云OSS的SDK,并在上傳的時候設置以下幾個參數:文件名稱、上傳的文件、上傳的目錄、OSS服務器地址。
// Upload.vue
最后,我們需要在前端調用后臺的接口,代理到OSS服務端。使用Axios發送請求即可,下面是一個簡單的示例。
// API.js import axios from 'axios' const baseURL = '/api' const instance = axios.create({ baseURL }) export const uploadFile = data =>{ return instance.post('/upload', data) }
這樣,我們就可以使用Vue框架和阿里云OSS實現文件上傳功能了。當然,在這個基礎上還可以做很多擴展,比如上傳進度條、文件類型限制等等,讓用戶體驗更加友好,歡迎大家嘗試。
上一篇vue上傳和下載
下一篇將css網格對齊一行