vue3+typescript+element-plus,使用自定义函数上传图片
时间: 2023-08-23 20:26:46 浏览: 144
好的,首先你需要先安装 Element-Plus 和 axios,然后可以创建一个自定义的上传函数,具体实现如下:
1. 在 Vue 组件中引入 Element-Plus 和 axios
```typescript
import { ElMessage } from "element-plus";
import axios from "axios";
```
2. 创建上传函数
```typescript
async function uploadImage(file: File): Promise<string | null> {
try {
const formData = new FormData();
formData.append("file", file);
const response = await axios.post("/api/upload", formData, {
headers: {
"Content-Type": "multipart/form-data",
},
});
if (response.status === 200) {
return response.data.url;
} else {
ElMessage.error("上传失败");
return null;
}
} catch (error) {
ElMessage.error("上传失败");
return null;
}
}
```
3. 在组件中使用上传函数
```typescript
async function handleUpload(file: File) {
const url = await uploadImage(file);
if (url) {
// do something with the uploaded image url
}
}
```
以上是一个简单的上传图片的实现方式,你可以根据实际需求来进行进一步的扩展和优化。
阅读全文