2017-05-22 46 views
-1

我如何使用Hibernate這個上傳的圖片保存到MySQL數據庫?我是否需要將此圖像轉換爲字節數組還是有任何其他方式來執行此操作?如何保存此圖片MySQL數據庫期運用Hibernate作爲BLOB?

try { 
    // parses the request's content to extract file data 
    List formItems = upload.parseRequest(request); 
    Iterator iter = formItems.iterator(); 

    // iterates over form's fields 
    while (iter.hasNext()) { 
     FileItem item = (FileItem) iter.next(); 
     // processes only fields that are not form fields 
     if (!item.isFormField()) { 
      String fileName = new File(item.getName()).getName(); 
      String filePath = uploadPath + File.separator + fileName; 
      File storeFile = new File(filePath); 

      System.out.println("Image file name is :" + fileName); 

      // saves the file on disk 
      item.write(storeFile); 

     } 
    } 
} 

回答

0

針對MySQL的Blob的等效映射類型爲byte[]。你應該用相應的方言在休眠和註釋屬性類似

@Lob 
@Column(name = "data", columnDefinition = "blob", length = 16777215) 
public byte[] getData() { 
    return this.data; 
} 
+0

首先我需要將此圖像轉換爲字節嗎?或者還有其他方法嗎? – user8048032

+0

我用'字節[] = FILEDATA FileUtil.getBytes(文件);' –

+0

如果你使用Struts直接存儲文件到行動豆,你並不需要與像公地文件上傳其他框架來迷宮。 –

相關問題