java实现上传图片
2024-10-01 14:01:08
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();
}
最新文章
- MP3光标移动
- SVN服务器详细权限控制
- 一致性Hash算法在Redis分布式中的使用
- Mybatis if判断的坑
- RobotFramework 安装配置(一)
- KMP,模式匹配算法
- 高效使用STL
- node.js模块之http模块
- Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作
- 限制div高度当内容多了溢出时显示滚动条
- FPGA知识大梳理(三)verilogHDL语法入门(2)知识汇总
- ubuntu:通过封装验证码类库一步步安装php的gd扩展
- Java 领域从传统行业向互联网转型你必须知道的事儿
- ML_Clustering
- Xml一(基本语法和约束)、
- Zabbix笔记
- Hadoop 本地模式安装
- jsp传给java属性,java生成json串,方便以后取出来
- codeforces 521a//DNA Alignment// Codeforces Round #295(Div. 1)
- How to Reuse Old PCs for Solr Search Platform?
热门文章
- linux下为firfox安装flash player
- jQuery 文档操作
- [luogu] P3210 [HNOI2010]取石头游戏(贪心)
- 原生javaScript完成Ajax请求
- SQL SERVER-主键的建立和删除
- nyoj 1189 yougth和他的朋友们 (DP)
- [Python + Unit Testing] Write Your First Python Unit Test with pytest
- gpg 的使用
- xBIM 基础08 WeXplorer 简介
- 在 Microsoft Word 文档 中粘贴代码实现语法高亮的方法