package com.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Map;
import org.apache.struts2.ServletActionContext;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.dao.HibernateUtil;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class upload extends ActionSupport {
private String backNews="空";
public String getBackNews() {
return backNews;
}
public void setBackNews(String backNews) {
this.backNews = backNews;
}
// username属性用来封装用户名
// myFile属性用来封装上传的文件
private File myFile;
// myFileContentType属性用来封装上传文件的类型
private String myFileContentType;
// myFileFileName属性用来封装上传文件的文件名
private String myFileFileName;
//获得username值
//获得myFile值
public File getMyFile() {
return myFile;
}
//设置myFile值
public void setMyFile(File myFile) {
this.myFile = myFile;
}
//获得myFileContentType值
public String getMyFileContentType() {
return myFileContentType;
}
//设置myFileContentType值
public void setMyFileContentType(String myFileContentType) {
this.myFileContentType = myFileContentType;
}
//获得myFileFileName值
public String getMyFileFileName() {
return myFileFileName;
}
//设置myFileFileName值
public void setMyFileFileName(String myFileFileName) {
this.myFileFileName = myFileFileName;
}
public String execute() throws Exception {
//基于myFile创建一个文件输入流
InputStream is = new FileInputStream(myFile);
// 设置上传文件目录
//String uploadPath = ServletActionContext.getServletContext()
// .getRealPath("/images");
String uploadPath = "F:\\web pro4\\richBoke\\WebRoot\\images";
// 设置目标文件
File toFile = new File(uploadPath, this.getMyFileFileName());
// 创建一个输出流
OutputStream os = new FileOutputStream(toFile);
//设置缓存
byte[] buffer = new byte[1024];
int length = 0;
//读取myFile文件输出到toFile文件中
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
System.out.println("上传文件名"+myFileFileName);
System.out.println("上传文件类型"+myFileContentType);
//关闭输入流
is.close();
//关闭输出流
os.close();
String str="";
Map<String, Object> session = ActionContext.getContext().getSession();
str=(String) session.get("loginName");
System.out.println(str);
Session s = null;
s = HibernateUtil.getSession();
Transaction tx = null;
tx = s.beginTransaction();
String hql1="update User user set user.touxiang =? where user.username =?";
Query q1=s.createQuery(hql1);
q1.setString(0,myFileFileName);
q1.setString(1,str);
int ret=q1.executeUpdate();
System.out.println(ret);
if(ret!=0){
tx.commit();
s.close();
HibernateUtil.getSessionFactory().close();
backNews="头像修改成功!";
session.put("touxiang", myFileFileName);
return "success";
}
else{
backNews="头像修改失败或数据连接异常!";
return "success";
}
}
}
Devin9566
- 粉丝: 9
- 资源: 4
最新资源
- 证券投资交易分析系统(含源码+项目说明+文档资料+全部资料).zip
- 知识图谱医疗问答系统+前端展示源码(2024毕业设计).zip
- 在线教育培训管理系统(含源码+项目说明+功能模块介绍).zip
- 在线考试系统-基于SpringCloud+Vue3近期开发(遗传算法自动组卷、文本批量导入,含源码+项目说明+设计报告).zip
- 在线流量分类模型-基于CNN+LSTM时空神经网络(含源码+说明文档+设计报告).zip
- 云开发电影院订票小程序(微信小程序源码+项目说明+设计报告).zip
- 云计算实验-利用GitHub进行协作并编写YML测试用例实现持续集成(含文档).zip
- 年度死因数字数据集.zip
- 猜数字游戏,再来一次,点名器,定时器,体彩方案
- 基于Matlab图像识别技术的隐形眼镜镜片边缘缺陷检测源代码
- 在线NFT铸造平台-整合区块链、IPFS与React技术(含源码及设计文档).zip
- 运动想象脑电信号分类-基于Transformer(CNN+局部时间空间特征提取,含源码+项目说明).zip
- 游戏AI强化训练-深度强化学习实战源码(比赛项目).zip
- 游戏空战推演系统源码基于强化学习开发源码(期末大作业).zip
- 期末课设-员工信息管理系统-基于Qt+SQLite数据库(含源码+项目说明+设计报告).zip
- 玉米病害与害虫识别系统源码+农业智能应用报告(课程设计).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈