package action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Blob;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
public class BlueBoardActionImpl extends PortalActionSupport {
private File myFile; //上传附件
private String myFileFileName; // 上传文件名称
private String myFileFilesize;
/**
*
* @category 文件上传
* @author
* @param
* @return success
*/
public String saveFile(){
String achivementId=this.getRequest().getParameter("itemId");
boolean flag=false;
Files fil=new Files();
try {
this.getResponse().setCharacterEncoding("utf-8");
this.getRequest().setCharacterEncoding("utf-8");
SimpleDateFormat formatDate =new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
Date date=new Date();
date =formatDate.parse(formatDate.format(date));
InputStream fin = new FileInputStream(myFile);
if("".equals(myFileFileName)){
throw new Exception("文件名为空");
}
fil.setFileName(myFileFileName);
//把文件封装到实体
fil.setFiled(Hibernate.createBlob(fin));
// test.setImage(Hibernate.createBlob(fin));
// testDAO.save(test);
fil.setValid(true);
//取到当前时间作为创建文档时间
fil.setCreateTime(date);
//执行保存文件到数据库
achievementService.addFiles(fil);
flag=true;
//System.out.println("---------执行完毕");
} catch (FileNotFoundException e) {
System.out.println(e.getMessage());
} catch (IOException e) {
System.out.println(e.getMessage());
} catch (Exception e) {
System.out.println(e.getMessage());
}
//标记是否已经执行
this.getRequest().setAttribute("flag", flag);
return SUCCESS;
}
/**
* 文件下载
*@category 文件下载
* @author
* @return
* @throws Exception
*/
public String downLoadFile() throws Exception {
this.getResponse().setCharacterEncoding("utf-8");
this.getRequest().setCharacterEncoding("utf-8");
String fileId = this.getRequest().getParameter("fileId");
//System.out.println("fileID:" + fileId);
if (fileId == null || "".equals(fileId)) {
System.out.println("文件ID为空");
throw new Exception("");
}
// 查询文件 获取文件对象
Files fil = achievementService
.getFilesById(Long.valueOf(fileId.trim()));
// 通过Blob.getBinaryS=ream()方法获取二进制流
Blob img = fil.getFiled();
// 输出流
InputStream is = img.getBinaryStream();
//保存文件名
String filename = this.getResponse().encodeURL(
new String(fil.getFileName().getBytes("GBK"), "iso-8859-1"));
getResponse().reset(); // 必要地清除response中的缓存信息
//让用户选择下载地址。也可以直接写到磁盘
this.getResponse().setHeader("content-disposition",
"attachment;filename=" + filename);
// this.getResponse().setContentType("application/vnd.rn-realmedia-vbr");//此项内容随文件类型而
this.getResponse().setContentType("application/octet-stream");// 此项内容随文件类型而
javax.servlet.ServletOutputStream out = this.getResponse()
.getOutputStream();
byte[] content = new byte[1024];
int length = 0;
while ((length = is.read(content)) != -1) {
out.write(content, 0, length);
}
out.close();
out.write(content);
out.flush();
is.close();
return null;
}
public String getMyFileFilesize() {
return myFileFilesize;
}
public void setMyFileFilesize(String myFileFilesize) {
this.myFileFilesize = myFileFilesize;
}
public File getMyFile() {
return myFile;
}
public void setMyFile(File myFile) {
this.myFile = myFile;
}
public String getMyFileFileName() {
return myFileFileName;
}
public void setMyFileFileName(String myFileFileName) {
this.myFileFileName = myFileFileName;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
porject.rar (19个子文件)
porject
WebContent
META-INF
MANIFEST.MF 39B
WEB-INF
web.xml 712B
lib
index.jsp 2KB
.settings
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.project.facet.core.xml 320B
org.eclipse.wst.common.component 420B
org.eclipse.wst.jsdt.ui.superType.container 49B
.jsdtscope 454B
org.eclipse.jdt.core.prefs 330B
src
dao
add.java 275B
action
BlueBoardActionImpl.java 4KB
entity
Files.java 3KB
Files.hbm.xml 2KB
services
.project 1KB
.classpath 840B
build
classes
dao
daoImpl.class 912B
action
BlueBoardActionImpl.class 4KB
entity
Files.class 2KB
Files.hbm.xml 2KB
services
共 19 条
- 1
huikudemao
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页