ajax上传文件,图片并显示与删除(spring boot)

2023-05-16

**

思路:先上传文件然后在读出来

**
之前本人都是用form提交上传文件,现在写个ajax的文件上传

先看下效果: 上传并在页面显示
在这里插入图片描述
关键代码:在启动类里面加入

//上传文件
	@Override
	 public void addResourceHandlers(ResourceHandlerRegistry registry) {
	     registry.addResourceHandler("/imctemp-rainy/**").addResourceLocations("file:D:/qqz7z8/");
	     //super.addResourceHandlers(registry);
	}

前端 html代码 :

<div id="app">
	<input type="file" name="file" id="file" multiple="multiple">
    <p id="url"><img src="" width=200></p>
    <input type="button" id="button" v-on:click="ff()" value="上传" >
</div>

前端 vue-ajax 代码 :

var vm=new Vue({
	 el:"#app",
	 data:{
		 
	 },
	 methods:{
		 ff:function(){
			 //alert(1);
			 var form = new FormData();
	            form.append("file", document.getElementById("file").files[0]);
	            alert($("#file").val());
	             $.ajax({
	                 url: "/ht/upload",      	//控制器路径  
	                 data: form,
	                 cache: false,
	                 async: false,				//同步异步  这里是同步
	                 type: "POST",              //类型,POST或者GET
	                 dataType: 'json',          //数据返回类型,可以是xml、json等
	                 processData: false,
	                 contentType: false,
	                 success: function (data) {      //成功,回调函数
	                     if (data) {
	                    	 var pic="/imctemp-rainy/"+data.fileName;   //获取图片路径
	                    	 alert(pic);
	                     	$("#url img").attr("src",pic);				//id为url的 改变属性 为图片+图片路径
	                     	// alert(JSON.stringify(data));
	                     } else {
	                     	alert("失败");
	                     }
	                 },
	                 error: function (er) {          //失败,回调函数
	                	 alert(JSON.stringify(data));
	                 }
	             });
		 }
	 }
})

后端 控制器 代码 :

	 //文件上传
		public static void uploadFile(byte[] file, String filePath, String fileName) throws Exception {        
			File targetFile = new File(filePath); 
			if (!targetFile.exists()) {
			   targetFile.mkdirs();    
			}        
			FileOutputStream out = new FileOutputStream(filePath +"/"+ fileName);
			out.write(file);      
			out.flush();   
			out.close(); 
		}
	  //处理文件上传
	  	@ResponseBody //返回json数据  
	  	@RequestMapping(value = "upload", method = RequestMethod.POST) 
	  	public JSONObject uploadImg(@RequestParam("file") MultipartFile file,HttpServletRequest request) {        
	  	    String contentType = file.getContentType(); 
	  	    System.out.println(contentType);
	  		String fileName = System.currentTimeMillis()+file.getOriginalFilename();  //可以改图片名字,改完要加后缀
	  		System.out.println(fileName);
	  		String filePath = "D:/qqz7z8";
		    JSONObject jo = new JSONObject();//实例化json数据
	
	  		if (file.isEmpty()) {   
	  			jo.put("success", 0);
	  			jo.put("fileName", "");
	  		}        
	  		try {  
	  		   uploadFile(file.getBytes(), filePath, fileName);  
	  		   jo.put("success", 1);
	  		   jo.put("fileName", fileName);	//存入图片名
	  		  // jo.put("xfileName", filePath+"/"+fileName);
	  		} catch (Exception e) {  
	  		// TODO: handle exception        
	  	
	  		}   
	  		String str="/imctemp-rainy/"+fileName;
	
	  		//返回json
	  	    return jo;    
	
	  	}   

删除图片的后端代码

//删除
	@RequestMapping("delAll")
	@ResponseBody
	public String delAll(HttpServletRequest req) {
		int x=Integer.parseInt(req.getParameter("nid"));   //接收删除id
		News news= newsService.findById(x);
		String str1=news.getTuhref();     //得到图片的路径字段
		String str2[]=str1.split("/");	  //截取一部分   获取图片名
		File f=new File("D:/qqz7z8/"+str2[str2.length-1]);
		f.delete();			//删除
	    return "1"; 
	}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ajax上传文件,图片并显示与删除(spring boot) 的相关文章

随机推荐

  • hullib_AdcBase

    AdcBase 也就是不用中断 xff0c 每次用软件触发的简单操作 一 cubmax配置 1 选好通道就可以了 xff0c 其他都不用管 二 需要编写的代码 1 在main函数while里面写上 span class token keyw
  • hullib_eeprom

    EEPROM 这个模拟iic真的搞了好久啊 xff0c 最后发现这个24c02写完之后至少要延时4ms再来读才可以 xff0c 要不然读的时候都是NACK 一 时序 自己看数据手册吧
  • hullib_PwmCapture

    PwmCapture 需要两个channel 一 cubemx配置 一个上升沿捕获 xff0c 一个下降沿捕获 打开中断 二 自己写的代码 1 开启两个通道的中断 span class token function HAL TIM IC S
  • 2021-03-16

    hullib Rtc 获取时间之后必须获取日期他才会有时间 HAL RTC GetTime amp hrtc amp sTime RTC FORMAT BIN HAL RTC GetDate amp hrtc amp sDate RTC F
  • hullib_PwmOutput

    hullib PwmOutput 一 cubmx需要配置的 1 这里一定是pwm Generation 而不是pwm outcompare 使用定时器的PWM模式只能在4个通道产生频率相同但占空比不同的输出信号 使用定时器的输出比较模式可以
  • 计算机类非全日制研究生

    北京市 10002 中国人民大学 院系所专业研究方向考试范围 159 信息学院 xff08 专业学位 xff09 085400 专业学位 电子信息 02 软件工程领域 xff08 非全 xff09 详情 159 信息学院 xff08 专业学
  • 史上最详细的Docker 镜像的制作-上传-拉取--部署(阿里云)

    Docker 镜像的制作 上传 拉取 部署 一 镜像 xff08 images xff09 1 什么是镜像 xff1f 2 镜像的组成和用途 xff08 1 xff09 Dockerfile xff08 2 xff09 scratch xf
  • 机动目标跟踪-Singer模型,当前统计模型,交互多模型与卡尔曼滤波的结合

    文章目录 非机动目标跟踪算法原理一 Singer 模型算法二 当前统计模型算法三 交互多模型算法 实验仿真一 低机动情况1 1 Singer模型参数设置1 2 当前统计模型参数设置1 3交互多模型参数设置1 4 对比分析 二 一般机动情况2
  • 用大白话解析函数调用,系统调用和API之间的关系

    一 官方的解释 大概了解一下 函数调用 函数调用是计算机编或运行时 xff0c 使用某个函数来完成相关命令 系统调用 系统调用是用户在程序中使用 访管指令 调用由操作系统提供的子功能集合 API 应用编程接口 xff08 Applicati
  • docker删除所有容器和镜像

    确保自己有权限 xff0c 一般先执行下面的命令获取管理员权限 span class token function sudo span span class token function su span 1 杀死运行的容器 xff1a sp
  • Docker镜像制作与仓库搭建

    Docker 1 xff0c docker镜像制作2 xff0c docker仓库搭建 1 xff0c docker镜像制作 docker官方和个人发布的镜像由于版本等各种原因 xff0c 漏洞较多 xff0c 已统计Docker Hub超
  • 2019年全国大学生电子设计竞赛赛题分享与浅析

    0 ti杯2019年全国大学生电子设计竞赛赛题已于今晨公布 其中赛题分为本科组与高职高专组 xff1a 本科组 xff1a A 电动小车动态无线充电系统 B 巡线机器人 C 线路负载及故障检测装置 D 简易电路特性测试仪 E 基于互联网的信
  • springboot整合canal实现对mysql数据库实时监控

    canal Canal介绍Mysql环境准备安装canalspringboot整合canal Canal介绍 官网地址 xff1a https github com alibaba canal canal k n l xff0c 译意为水道
  • tensorflow2.6.0安装 another metric with the same name already exists

    终端直接输入pip install tensorflow 61 61 2 6 0 但是这里有一点问题 span class token keyword import span os span class token keyword impo
  • Java编程心得体会

    初次学习Java编程的心得与体会 之前学习过c语言 xff0c python编程 xff0c 对比Java编程首先感觉到的区别就是Java环境配置比较复杂 xff0c 编程工具安装比较麻烦 课堂上老师讲到首先下载安装jdk xff0c 然后
  • Ubuntu18.04+ROS-melodic环境 px4+move_base仿真遇到的问题

    前前后后安了三个虚拟机 xff0c 折腾了快一个月了吧 第四次用双系统终于实现了 每次都有不同的坑 1 错误 xff1a gz symbol lookup error usr lib x86 64 linux gnu libgazebo c
  • 【谷粒学院】项目总结

    做谷粒学院这个项目大概花了2个多月的时间 xff0c 期间遇到了很多问题 xff0c 想要记录下来 xff0c 希望可以对别人有所帮助 首先谷粒学院项目我是不太推荐时间紧张的友友拿来做为毕设项目的 xff0c 原因是里面涉及到的技术 服务很
  • 完美解决make -f Makefile.unx报错问题 +Centos

    这里写自定义目录标题 本人亲测成功 导读 xff1a 我用这个命令主要是针对编译hadoop的 xff0c 其中有个isa l安装 xff0c 是英特尔 ISA L技术即 xff08 Intel Intelligent Storage Ac
  • 关于Gitee创建存储库多人协作流程

    关于Gitee创建存储库多人协作流程 主要解决在IDEA工具开发下通过Gtiee多人协作 xff0c 共同开发 前期准备 IDEA xff1a IDEA当前文档使用版本为2021 3 1 Git xff1a IDEA安装Gitee插件 流程
  • ajax上传文件,图片并显示与删除(spring boot)

    思路 xff1a 先上传文件然后在读出来 之前本人都是用form提交上传文件 xff0c 现在写个ajax的文件上传 先看下效果 xff1a 上传并在页面显示 关键代码 xff1a 在启动类里面加入 span class token com