直接在html中引入Vue.js的cdn來實現一個簡單的上傳圖片組件

摘要

當使用 Vue.js 的 CDN 來實現一個簡單的上傳圖片組件時,你可以利用 Vue 的數據綁定和事件處理能力,結合 HTML 和 CSS,輕松地創建一個交互式的圖片上傳界面。以下是一個示例:

代碼結構

在這里插入圖片描述

index.html

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Vue上傳圖片</title><script src="vue.min.js"></script><script src="axios.min.js"></script><style>body {font-family: Arial, sans-serif;margin: 0;padding: 0;background: #f1f1f1;}.container {width: 100%;margin: 50px auto 0;}.container .upload-pannel {width: 500px;background: #fff;border-radius: 10px;margin: 20px auto 0;overflow: hidden;}.container .upload-pannel .pannel-title {width: 90%;margin: 20px auto;font-size: 15px;color: #333;font-weight: bold;display: block;}.container .upload-pannel .file-select{width: 90%;height: 250px;border: 2px dashed rgb(59,94,225);background: rgba(59,94,225,0.05);margin: 20px auto;display: block;border-radius: 10px;position: relative;}.container .upload-pannel input[type="file"]{width: 100%;height: 100%;opacity: 0;position: absolute;left: 0;top: 0;}.container .upload-pannel .upload-icon{width: 40px;height: 35px;display: block;margin: 0 auto;line-height: 250px;}.container .upload-pannel .upload-icon img{width: 40px;height: 35px;}.container .upload-pannel .file-select .upload-text{text-align: center;display: block;font-size: 14px;color: #999;line-height: 230px;}.container .upload-pannel .upload-progress{width: 90%;height: 60px;background: #f1f1f1;margin: 20px auto;border-radius: 10px;overflow: hidden;}.container .upload-pannel .upload-progress .progress-bar-container {position: relative;width: 90%;height: 10px;margin: 25px auto;background: #f1f1f1;border-radius: 10px;overflow: hidden;}.container .upload-pannel .upload-progress .progress-bar {height: 100%;background: rgb(59,94,225);border-radius: 10px;transition: width 0.3s ease-in-out;}.container .upload-pannel .upload-progress .progress-text {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);font-size: 12px;color: #fff;}.container .upload-pannel .imgPreview{width: 90%;margin: 20px auto;display: block;}</style></head><body><div id="app"></div><script>new Vue({el: '#app',data() {return {imgUrl: '',uploadProgress: 0,uploadProgressbg: false};},methods: {async handleImageUpload(event) {const file = event.target.files[0];if (file) {// 上傳圖片this.uploadProgressbg = true;const formData = new FormData();formData.append('image', file);try {const response = await axios.post('upload.php', formData, {onUploadProgress: progressEvent => {// 改變進度條this.uploadProgress = Math.round((progressEvent.loaded / progressEvent.total) * 100);},});const imageUrl = response.data.url;if (imageUrl) {// 上傳成功this.imgUrl = imageUrl;}} catch (error) {// 上傳失敗console.error('Error uploading image:', error);} finally {// 隱藏進度條setTimeout(() => {this.uploadProgress = 0;this.uploadProgressbg = false;}, 1500);}}},},template: `<div class="container"><div class="upload-pannel"><span class="pannel-title">Vue.js 圖片上傳</span><span class="file-select"><input type="file" @change="handleImageUpload"><span class="upload-icon"><img src="upload.png" /></span><span class="upload-text">僅支持上傳jpg、png、gif格式的圖片</span></span><div class="upload-progress" v-if="uploadProgressbg == true"><div class="progress-bar-container" :class="{ active: uploadProgressbg }"><div class="progress-bar" :style="{ width: uploadProgress + '%' }"></div><span class="progress-text" v-if="uploadProgressbg">{{ uploadProgress }}%</span></div></div><img v-if="imgUrl" :src="imgUrl" class="imgPreview"></div></div>`,});</script></body>
</html>

動圖演示

在這里插入圖片描述

作者

TANKING

源碼下載

https://afdian.net/item/ffa3292a337c11ee9a8c5254001e7c00

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/37113.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/37113.shtml
英文地址,請注明出處:http://en.pswp.cn/news/37113.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LVS集群和分布式

LVS 一.集群和分布式概念 1.1 集群 在計算機領域&#xff0c;集群早在 1960 年就出現&#xff0c;隨著互聯網和計算機相關技術的發展&#xff0c;現在 集群這一技術已經在各大互聯網公司普及。 1.1.1 集群概念 計算機集群指一組通過計算機網絡連接的計算機&#xff0c;它們…

Rust 重載運算符|復數結構的“加減乘除”四則運算

復數 基本概念 復數定義 由實數部分和虛數部分所組成的數&#xff0c;形如a&#xff0b;bi 。 其中a、b為實數&#xff0c;i 為“虛數單位”&#xff0c;i -1&#xff0c;即虛數單位的平方等于-1。 a、b分別叫做復數a&#xff0b;bi的實部和虛部。 當b0時&#xff0c;a&…

前后端分離------后端創建筆記(06)新增接口頁面布局

本文章轉載于【SpringBootVue】全網最簡單但實用的前后端分離項目實戰筆記 - 前端_大菜007的博客-CSDN博客 僅用于學習和討論&#xff0c;如有侵權請聯系 源碼&#xff1a;https://gitee.com/green_vegetables/x-admin-project.git 素材&#xff1a;https://pan.baidu.com/s/…

Kubernetes入門 四、Pod核心

目錄 什么是PodPod與容器不同Pod如何管理多個容器Pod的管理-工作負載K8s中的資源清單創建使用Pod直接創建Pod使用 Deployment 創建Pod 環境變量重啟策略鏡像拉取策略訪問 DNS 的策略資源限制初始化容器臨時容器&#xff08;了解&#xff09; 什么是Pod Pod 是可以在 Kubernete…

Azure添加網絡接口

添加網絡接口的意義 在 Azure 上&#xff0c;為虛擬機添加網絡接口的意義包括以下幾個方面&#xff1a; 擴展網絡帶寬&#xff1a;通過添加多個網絡接口&#xff0c;可以增加虛擬機的網絡帶寬&#xff0c;提高網絡傳輸速度和數據吞吐量。實現網絡隔離&#xff1a;每個網絡接口…

zabbix-6.4 監控 MySQL

目錄 1、rpm安裝zabbix_agentd服務 2、編寫zabbix_agentd.conf文件 3、編寫模板文件 4、創建mysql用戶并賦權限 5、創建.my.cnf文件 6、將規則添加到SELinux策略中 注意&#xff1a; 若模板無法讀取.my.cnf 信息&#xff0c;從而導致監控報錯&#xff0c;可以嘗試修改模…

虛樹

虛樹是用來優化樹形dp的東西&#xff0c;它的轉移是從一些特殊點&#xff0c;向根節點轉移&#xff0c;期間它有用的轉移點比較特殊。通常詢問次數較多&#xff0c;但特殊點總和較少&#xff0c;就可以每次詢問先建虛樹再跑dp。單調棧建虛樹 O ( k l o g n ) O(klogn) O(klogn)…

別人直播的時候怎么錄屏?分享一些錄屏方法

?隨著互聯網的快速發展&#xff0c;直播已經成為人們日常生活中不可或缺的一部分。但是&#xff0c;有時候我們可能會錯過某些重要的直播內容&#xff0c;這時候就需要錄屏來保存和觀看。那么&#xff0c;如何錄屏別人的直播呢&#xff1f;本文將分享一些錄屏方法和技巧&#…

【Python機器學習】實驗11 神經網絡-感知器

文章目錄 人工神經網絡感知機二分類模型算法 1. 基于手寫代碼的感知器模型1.1 數據讀取1.2 構建感知器模型1.3 實例化模型并訓練模型1.4 可視化 2. 基于sklearn的感知器實現2.1 數據獲取與前面相同2.2 導入類庫2.3 實例化感知器2.4 采用數據擬合感知器2.5 可視化 實驗1 將上面數…

SpringBoot復習:(50)TransactionManager是哪里來的?是什么類型的?

運行結果&#xff1a; 可見它的類型是DataSourceTransactionManager.它是通過自動配置創建的。

rust怎么做大型項目管理?學好cargo和mod是關鍵

一提到大型項目開發&#xff0c;大家都會以Java作為標準&#xff0c;為什么呢&#xff1f; 一個是Java生態有很多以Maven為代表的成熟的項目管理工具&#xff0c;另一個是基于package的模塊管理模式&#xff0c;提供了非常好的功能內聚和模塊間解耦&#xff0c;而同樣的rust也有…

PHP先等比縮放再無損裁剪圖片【實例源碼】

很多人在使用程序裁剪圖片時,是在原圖上直接裁剪,這樣的裁剪結果是使得圖片變得不完整了,理想的做法是先等比縮小圖片,再把多余的部分裁掉,這樣會保留更多的圖片信息。 實現代碼: <?php/*** 說明:函數功能是把一個圖像裁剪為任意大小的圖像,圖像不變形** @param …

類型轉換與索引使用與字段緩存問題

** 1: 類型轉換與索引使用** 假設你有一個MySQL表格 users&#xff0c;其中有一個 age 列&#xff0c;數據類型是整數&#xff08;INT&#xff09;&#xff0c;并且為該列創建了一個索引。然后你執行以下查詢&#xff1a; sqlCopy code SELECT * FROM users WHERE age 25;在…

pdf怎么壓縮?一分鐘學會文件壓縮方法

PDF文件過大一般主要原因就是內嵌大文件、重復的資源或者圖片比較多&#xff0c;隨之而來的問題就是占用存儲空間、被平臺限制發送等等&#xff0c;這時候我們可以通過壓縮的方法縮小PDF文件大小&#xff0c;下面就一起來看看具體的操作方法吧。 方法一&#xff1a;嗨格式壓縮大…

【系統架構設計專業技能 · 軟件工程之系統分析與設計(二)【系統架構設計師】

系列文章目錄 系統架構設計專業技能 軟件工程&#xff08;一&#xff09;【系統架構設計師】 系統架構設計高級技能 軟件架構概念、架構風格、ABSD、架構復用、DSSA&#xff08;一&#xff09;【系統架構設計師】 系統架構設計高級技能 系統質量屬性與架構評估&#xff08;…

vue+element多層表單校驗prop和rules

核心點&#xff1a;外層循環是item和index&#xff0c;內層循環是item2和index2 如果都是定義的同一個屬性名 外層循環得寫:prop"block.index.numerical" 同理內層循環就得寫:prop"objectSpecs. index2 .numerical" 校驗函數方法 :rules"getRules(it…

機器學習之分類模型

機器學習之分類模型 概述分類模型邏輯回歸最近鄰分類樸素貝葉斯支持向量機決策樹隨機森林多層感知機基于集成學習的分類模型VotingBaggingStackingBlendingBoosting 概述 機器學習分類模型通過訓練集進行學習&#xff0c;建立一個從輸入空間 X X X到輸出空間 Y Y Y&#xff08…

推斷統計(獨立樣本t檢驗)

這里我們是采用假設檢驗中的獨立樣本t 檢驗來比較兩個獨立正態總體均值之間是否存在顯著性差異&#xff0c;以比較城市與農村孩子的心理素質是否有顯著差異為例 。 這里我們首先是假設城市孩子與農村孩子心理素質無顯著差異&#xff0c;但是此時方差是否齊性是未知的&#xff0…

題目:2566.替換一個數字后的最大差值

??題目來源&#xff1a; leetcode題目&#xff0c;網址&#xff1a;2566. 替換一個數字后的最大差值 - 力扣&#xff08;LeetCode&#xff09; 解題思路&#xff1a; 將從左到右第一個非 9 數字全部修改為 9 以得到最大值。將從左到右第一個數字全部修改為 0 以得到最小值&a…

c#實現命令模式

下面是一個使用C#實現命令模式的示例代碼&#xff1a; using System; using System.Collections.Generic;// 命令接口 public interface ICommand {void Execute();void Undo(); }// 具體命令&#xff1a;打開文件 public class OpenFileCommand : ICommand {private FileMana…