vue简单制作图片上传功能

  1. 样式
.iul-img{
	width:100%;
	height:100%;
}
.idcard-ul{
	display:flex;
}
.iu-item,.iu-img{
	width:250px;
	height:250px;
	border:1px solid #000;
	display:inline-flex;
	align-items:center;
	position:relative;
	justify-content:center;
    overflow:hidden;
	border-radius:10px;
	margin:20px 20px 20px 0;
}
.iu-img{
	opacity:0.5;
}
.add-img{
	font-size:100px;
}
.upload{
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	top:0;
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	z-index:999;
	opacity:0;
}

2.html

<ul class="idcard-ul">
      <li v-if="imgs.length>0" v-for='(item ,index ) in imgs' class="iu-item">
          <img :src="item" class="iul-img">
      </li>
      <li style="position:relative" v-if="imgs.length>=3 ? false : true" class="iu-img">
          <span class="add-img">+</span><input class="upload" @change='add_img'  type="file" accept="image/*">
      </li>
</ul>

3.js

data:{
        imgs:[]
},
methods:{
		add_img(event){  
	            let imgData=event.target.files[0];
	            if(imgData.name){	            
	               this.imgs.push(window.URL.createObjectURL(imgData));	
	            }
	    }
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue.js 和 SpringBoot 结合可以构建一个强大的后端服务和前端用户界面,用于实现图片上传功能。这里是一个简要的步骤概述: 1. **前端(Vue)**: - 使用 Vue CLI 创建一个新的项目,并安装必要的依赖,如 `axios` (用于发送 HTTP 请求) 和 `vue-file-upload` 或者 `iview` 这样的 UI 组件库中的文件上传组件。 - 在 HTML 元素上创建一个表单,包含一个文件输入元素 `<input type="file">`,这将让用户选择要上传的图片。 - 使用 JavaScript 视图层代码监听文件输入事件,当用户选择文件后,发送 AJAX 请求到 SpringBoot 后台。 ```javascript <template> <div> <button @click="uploadFile">上传图片</button> <img :src="imageUrl" v-if="imageUrl"> </div> </template> <script> export default { data() { return { imageUrl: '', }; }, methods: { uploadFile() { const file = this.$refs.fileInput.files; // 发送请求到SpringBoot接口 axios.post('/api/upload', { file }, { headers: {'Content-Type': 'multipart/form-data'} }) .then(response => { this.imageUrl = response.data.url; // 存储上传后的图片 URL }); }, }, }; </script> ``` 2. **后端(SpringBoot)**: - 在 SpringBoot 应用中,创建一个 RESTful API 接口,例如 `/api/upload`,用于处理图片上传。使用 Spring MVC 或 Spring WebFlux 来处理HTTP请求。 - 实现图片存储逻辑,通常会使用文件系统、云存储服务或第三方库如 Amazon S3、Google Cloud Storage。 ```java @PostMapping("/upload") public ResponseEntity<String> handleImageUpload(@RequestParam("file") MultipartFile file) throws IOException { try { // 将文件保存到服务器或云存储 String filePath = saveUploadedFile(file); return ResponseEntity.ok("http://your-server/" + filePath); // 返回存储后的图片URL } catch (Exception e) { log.error("Error uploading file", e); throw new RestResponseEntity(HttpStatus.BAD_REQUEST, "图片上传失败"); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值