hibernate文件上傳
① 使用java hibernate+struts做圖片上傳,但是在選擇文件的時候如何限定圖片的格式
struts 可以直接控制文件類型和最大上傳文件的大小。配置一下struts.xml即可。
② struts+hibernate 怎麼將上傳文件的名字,路徑,大小存入mysql資料庫,最好有詳細代碼的,
①使用struts2的上傳jar包,commons-fileupload.jar
②配置struts配置文件,在action下配置上傳文件的攔截器,例
<action name="uploadAction" class="com.action.UploadAction ">
<result name="success">
index.jsp
</result>
<interceptor-ref name="fileUpload">
<param name="allowedTypes"></param>
</interceptor-ref>
<interceptor-ref name="defaultStack" />
</action>
③用action處理上傳文件(下面有例子UploadAction.java)
④將路徑和大小使用Hibernate存入資料庫。
下面是上傳的action類
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Date;
import org.apache.struts2.ServletActionContext;
public class UploadAction extends BaseAction {
public UploadAction() {
super("");
}
private static final long serialVersionUID = -7091926458432816740L;
private static final int BUFFER_SIZE = 16 * 1024;
// 使用File數組封裝多個文件域對應的文件內容
private File[] file;
// 使用字元串數組封裝多個文件域對應的文件名
private String[] fileFileName;
// 接受依賴注入的屬性
@SuppressWarnings("unused")
private String savePath;
private String path;
// 結果顯示消息
private String msg;
// 只用這個方法也可以實現多圖片上傳功能
public String execute() throws Exception {
System.out.println(ServletActionContext.getRequest().getSession()
.getServletContext().getRealPath("/"));
// 取得需要上傳的文件數組
File[] files = this.getFile();
// 遍歷每個需要上傳的文件
for (int i = 0; i < files.length; i++) {
fileFileName[i] = i + new Date().getTime()
+ getExtention(fileFileName)[i];
// 以伺服器的文件保存地址和原文件名建立上傳文件輸出流
FileOutputStream fos = new FileOutputStream(getSavePath()
+ "upload/img\\" + getFileFileName()[i]);
System.out.println(getSavePath() + "upload\\img\\"
+ getFileFileName()[i]);
path = "/upload/img/" + getFileFileName()[i];
// 以每個需要上傳的文件建立文件輸入流
FileInputStream fis = new FileInputStream(files[i]);
// 將每個需要上傳的文件寫到伺服器對應的文件中
byte[] buffer = new byte[BUFFER_SIZE];
int len = 0;
while ((len = fis.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
}
//HttpServletRequest request = ServletActionContext.getRequest();
//String paths = request.getContextPath();
//path = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+paths+"/";
this.msg = "上傳成功!";
return SUCCESS;
}
// 獲得每個文件的擴展名
public String[] getExtention(String[] fileNames) {
String[] extentions = new String[fileNames.length];
for (int i = 0; i < extentions.length; i++) {
int pos = fileNames[i].lastIndexOf(".");
extentions[i] = fileNames[i].substring(pos);
}
return extentions;
}
public File[] getFile() {
return file;
}
public void setFile(File[] file) {
this.file = file;
}
public String[] getFileFileName() {
return fileFileName;
}
public void setFileFileName(String[] fileFileName) {
this.fileFileName = fileFileName;
}
public String getSavePath() {
return ServletActionContext.getRequest().getSession()
.getServletContext().getRealPath("/");
}
public void setSavePath(String savePath) {
this.savePath = savePath;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
}
③ struts2 spring hibernate實現圖片上傳,資料庫保存路徑
struts2有專門的攔截器進行上傳工作,
1.下載struts2上傳包commons-fileupload-1.2.jar
2.在action中接收並處理文件
3.在struts.xml中對應的action中進行配置上傳攔截器
4.在server層中寫業務處理操作
5.層寫資料庫插入語句
有什麼不清楚的可以網路Hi我!~good luck!
具體代碼,看我下面給你的參考地址!~
④ 用struts2+hibernate4做個文件上傳,出錯了,說找不到指導定的路徑,在webcont
這種問題最好把代碼貼出來。
你這圖片很模糊啊。
⑤ struts2+Hibernate上傳圖片,如何實現圖片可以放在伺服器上;資料庫保存圖片路徑。
樓主struts2上傳代碼會寫嗎?
struts2本身提供了上傳攔截器,用struts2實現上傳功能,並獲得保存地址
<!-- 配置fileUpload的攔截器 -->
<interceptor-ref name="fileUpload">
獲得文件存儲地址(上傳時指定)+文件名
調用保存方法(Hibernate),將文件路徑存入資料庫
在一個事務中完成即可!
如:有哪塊有難點,及時追問。good luck!
⑥ Spring mvc+Hibernate 上傳和下載 項目環境 myEplice+SpringMVC+hibernate
資料庫里保存的只是文件在伺服器上的地址,上傳時把文件保存在伺服器上,同時設置保存的目錄,然後把目錄信息保存到資料庫中。
⑦ hibernate上傳文件的時候使用clob,代碼如下 Clob clob = Hibernate.createClob(new tring(FormFile.getFi
1. 查看資料庫使用的字元集,默認的應該是latin
2.對FormFile.getData()返回的string 進行轉碼,格式應該和資料庫的字元集一致(比如,資料庫設計你數據gb2312,那麼對string轉換編碼時候,也使用gb2312)
確定1,2 兩點,你的資料庫就不會亂碼了,但願我的回答能解決你的問題
⑧ spring+spring mvc+ hibernate框架里怎麼實現圖片的上傳,下載,展示功能
這個嘛 只和SpringMVC有點關系。 前端提交的文件,由springmvc攔截進行處理。
您可以使用上傳插件。比如網路上傳插件:Web Uploader。
怎麼用的話,官網有Demo。也有API文檔,可以自行查閱。
當然不用插件的話,也可以自己做個簡單的,用Form表單提交到後台,後台對文件進行保存,展示的話直接用<img src='xxx路徑'>。您可以自己組織語言網路搜索一下代碼怎麼寫。
上傳文件實際上就是傳輸一些數據到後台,然後使用java把這些數據保存到硬碟上,前端直接根據路徑來進行訪問。