














<%--<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>--%> <script src="../../Scripts/vue.global.js"></script> <%--<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>--%> <script src="../../Scripts/axios.min.js"></script>

<div style="margin-top: 3px;">
<div id="app">
<div v-if="loading">加载中...</div>
<div v-else-if="error">{{ error }}</div>
<%--把前一篇的html markup 拉到这里来。--%>
<%--如果你有实现过前一篇,添加外层vue3代码特征即可。--%>
</div>
</div>
View Code

const uploadFile = async (file) => { if (!file) { alert('没有选择文件'); return; } const url = '/api/ul/UploadImage'; const payload = new FormData(); payload.append("file", file); try { const response = await axios.post(url, payload, { headers: { 'Content-Type': 'multipart/form-data' } }); const data = response.data; if (data.Status) { alert(data.Message); } else { alert(data.Message || '上传失败'); } } catch (error) { console.error('Error uploading file:', error); alert('上传失败,请重试'); } };
View Code

onMounted(() => { // 绑定上传事件 const dropZone = document.getElementById('dropZone'); const fileInput = document.getElementById('FileImage'); const uploadButton = document.getElementById('Button_Upload'); const urlInput = document.getElementById('ImageUrl'); const urlButton = document.getElementById('Button_UploadUrl'); // 点击上传 uploadButton.addEventListener('click', () => { if (fileInput.files.length === 0) { alert('请先选择图片'); return; } uploadFile(fileInput.files[0]); fileInput.value = ''; }); // 拖放上传 dropZone.addEventListener('dragover', (e) => { e.preventDefault(); dropZone.classList.add('dragover'); }); dropZone.addEventListener('dragleave', (e) => { e.preventDefault(); dropZone.classList.remove('dragover'); }); dropZone.addEventListener('drop', (e) => { e.preventDefault(); dropZone.classList.remove('dragover'); const file = e.dataTransfer.files[0]; if (file) { uploadFile(file); } else { alert('请拖入图片文件'); } }); // URL上传 urlButton.addEventListener('click', async () => { const imageUrl = urlInput.value.trim(); if (!imageUrl) { alert('请输入图片链接'); return; } try { const response = await fetch(imageUrl); if (!response.ok) throw new Error('获取图片失败'); const blob = await response.blob(); const file = new File([blob], 'image_from_url.jpg', { type: blob.type || 'image/jpeg' }); await uploadFile(file); urlInput.value = ''; } catch (err) { alert('无法下载图片,请检查链接或跨域策略'); urlInput.value = ''; } }); });
View Code
vue与html + javascript代码相似。懂得语法与规范即可。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。