java实现上传图片
1.将图片上传到tomcat下
2.将相对路径存放到数据库中
@RequestMapping(params="upLoadPicture")
@ResponseBody
public String addFilemsgPic(MultipartFile file,HttpServletRequest request) throws Exception{ String path="../Manage_ssm/upLoadPicture"; //创建文件
File dir=new File(path);
if(!dir.exists()){
dir.mkdirs();
} String username=(String) request.getSession().getAttribute("userName");
//返回原来在客户端的文件系统的文件名
String fileName=file.getOriginalFilename();
//username+后缀名 String img=username+fileName.substring(fileName.lastIndexOf("."));//zhao.jpg
FileOutputStream imgOut=new FileOutputStream(new File(dir,img));//根据 dir 抽象路径名和 img 路径名字符串创建一个新 File 实例。 imgOut.write(file.getBytes());//返回一个字节数组文件的内容
imgOut.close();
Map<String, String> map=new HashMap<String, String>(); String rpath = path+"/"+img;
map.put("rPath",rpath);
JSONObject jsonObject = JSONObject.fromObject(map);//将json字符串转换为json对象
String r=jsonObject.toString();
String s=URLEncoder.encode(r, "utf-8");//加密
return s;
}
@RequestMapping(params="pictureToDb")
@ResponseBody
public int pictureToDb(String src,HttpServletRequest request){ String newSrc = src.replace(" ", "+");
int flag=ConnOrcl.connToTable(newSrc,request);
if(flag==)
return ;
else
return ;
}
public class ConnOrcl {
private static Connection conn;
private static Statement stat;
private static String driver = "oracle.jdbc.driver.OracleDriver";
private static int SUCCESS=;
private static int FILE=;
public static int connToTable(String file,HttpServletRequest request)
{
try
{
//数据库连接
Class.forName(driver);
conn = java.sql.DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "GKBMFZXT", "GKBMFZXT");
stat = conn.createStatement();
String username=(String) request.getSession().getAttribute("userName");
String sql="update user_table set picture='"+file+"' where user_name='"+username+"'";
stat.execute(sql.toString());
return SUCCESS;
}
catch(ClassNotFoundException e)
{
e.printStackTrace();
}
catch(SQLException e)
{
e.printStackTrace();
}
finally
{
if(null != stat)
{
try
{
stat.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
if(null != conn)
{
try
{
conn.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
return FILE;
}
}
<script src="js/ajaxfileupload.js"></script>
<script type="text/javascript">
function upload(){ var file="file";
var picElement=document.getElementById(file).value; var picFormat=picElement.substring(picElement.lastIndexOf('.')+1,picElement.length);
if(picFormat!="jpg"){
alert("请选择jpg 格式的文件!");
return;
} $.ajaxFileUpload({
url:"user.do?upLoadPicture",
secureuri: false,
fileElementId:file,
dataType: 'JSON',
success:function(data){
data=decodeURIComponent(data);//解码
var arr=JSON.parse(data);//JSON.parse() 方法解析一个JSON字符串
$("#fsrc").val(arr.rPath);
$.post(
"user.do?pictureToDb&src="+$("#fsrc").val(),
function(data){
//data=decodeURIComponent(data);
//var arr=JSON.parse(data);
if(data==1){
alert("上传成功!");
}else{
alert("上传失败!");
} }
);
},
error: function (){
alert("上传失败!当前时间为:"+new Date().toLocaleTimeString()); }
});
}; function findFile(){
document.getElementById("file").click();
}
java实现上传图片的更多相关文章
- java异步上传图片
第一步:引入需要的js <script src="/res/common/js/jquery.js" type="text/javascript"> ...
- html5 ajax Java接口 上传图片
html5图片上传[文件上传]在网上找了很多资料,主要也就2种 1.from表单提交的方式 <form action="pushUserIcon" method=" ...
- JAVA简单上传图片至七牛
utils package com.example.demo.utils; import com.alibaba.fastjson.JSONObject; import com.qiniu.commo ...
- java实现上传图片并压缩图片大小功能
缩略图压缩文件jar包 <!-- 图片缩略图 --> <dependency> <groupId>net.coobird</groupId> <a ...
- React+ajax+java 上传图片并预览
之前有在网上找ajax上传图片的资料,大部分的人写得都是用jQuery,但是在这里用JQuery就大才小用了,所以我就自己写了,先上图. 由上图,首先点击上面的选择文件,在选择图片之后,将会自动上传图 ...
- java web应用用户上传图片的存储地址
原来工程的上传图片存储地址在web应用的目录下,并且是硬编码到其中的: 每次使用maven tomcat:redeploy以后,这个目录就没有了. 现在想要把上传图片的位置移动到tomcat的weba ...
- FastDFS介绍(非原创)
文章大纲 一.FastDFS介绍二.FastDFS安装与启动(Linux系统)三.Java客户端上传图片四.参考文章 一.FastDFS介绍 1. 什么是FastDFS FastDFS是用C语言编 ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- UEditor上传图片到七牛云储存(java)
我们的网站一般放在虚拟空间或者服务器上,图片如果存在本地目录,会占用很多空间和流量,还增加了负担,好的办法是把图片存放到云储存服务里面,平时用url去拿 云储存:普遍说又拍云和七牛比较好,看到七牛免费 ...
随机推荐
- BZOJ 2150 部落战争 (二分图匹配)
题目大意:给你一个n*m的棋盘,有一些坏点不能走,你有很多军队,每支军队可以像象棋里的马一样移动,不过马是1*2移动的,而军队是r*c移动的,军队只能从上往下移动,如果一个点已经被一直军队经过,那么其 ...
- 六、利用frp穿透连接内网的linx系统和windows系统
服务端的配置 # frps.ini [common] bind_port = 7000 说明:防火墙放行该端口 启动:./frps -c ./frps.ini 后台启动:nohup ./frps -c ...
- docker删除docker_gwbridge网桥
最后更新时间:2018年12月26日 使用命令:docker network rm docker_gwbridge 提示无法删除. [root@localhost ~]# docker network ...
- Linux 操作系统启动流程
1.加载bios bios中包含的硬件CPU 内存 硬盘等相关信息 2.读取MBR 读取完bios信息之后,计算机会查找bios制定的硬盘MBR引导扇区,将其内容复制到 0x7c00 地址所在的物理内 ...
- python学习(一):python基础
python两种执行方式: python解释器:py文件路径 python进入解释器:实时输入并获取执行结果 解释器路径: 在linux系统中,python文件在头部加上#!/usr/bin/env ...
- ORDER BY排序子句
10.ORDER BY排序子句 用于指定将查询结果排序的字段. //查询emp表所有记录,结果按ename升序排列 select empno,ename from emp or ...
- 跟我学设计模式视频教程——适配器模式,适配器模式VS装饰模式
课程视频 适配器模式 适配器模式VS装饰模式 唠嗑 课程笔记 课程笔记 课程代码 课程代码 新课程火热报名中 课程介绍
- IOS7 textkit 的相关
去年基于5.0开发的时候.自己用coreText编写了一个富文本,全部的效果都实现的非常好.可是没有去測试效率.只是在cell重用的时候表现不错.在4s上面也不会卡顿. 唯一一个问题就是,在使用AL的 ...
- nyoj--55--懒省事的小明(STL优先队列)
懒省事的小明 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果子的不同种类分 ...
- vc应用CPictureEx类(重载CStatic类)加载gif动画
1.PictureEx.h文件: //////////////////////////////////////////////////////////////////////// PictureEx. ...