struts2上传图片怎么保存到数据库中
5个回答
展开全部
定义一个private File adImage;
在页面input框中有一个name=“adImage”属性,用于上传图片,adImage在数据库中的类型为clob或者是blob类型的,
if(adImage != null){
FileInputStream inputStream = new FileInputStream(adImage);
oldAd.setAdImage(Hibernate.createBlob(inputStream));
}
这里的oldAd是实体类,也就是需要上传的数据表对应的实体类,这样就可以把图片存到数据库。
在页面input框中有一个name=“adImage”属性,用于上传图片,adImage在数据库中的类型为clob或者是blob类型的,
if(adImage != null){
FileInputStream inputStream = new FileInputStream(adImage);
oldAd.setAdImage(Hibernate.createBlob(inputStream));
}
这里的oldAd是实体类,也就是需要上传的数据表对应的实体类,这样就可以把图片存到数据库。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库保存的是该文件的一些信息,文件保存在服务器指定的目录里。
Struts2文件上传保存到数据库中,可以用Fileupload组件。
----------------------struts2文件上传实例如下----------------
package com.ssh.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class UploadAction extends ActionSupport {
private String username;
private String password;
private File file;
private String fileFileName;
private String fileContectType;
public File getFile() {
return file;
}
public void setFile(File file) {
this.file = file;
}
public String getFileContectType() {
return fileContectType;
}
public void setFileContectType(String fileContectType) {
this.fileContectType = fileContectType;
}
public String getFileFileName() {
return fileFileName;
}
public void setFileFileName(String fileFileName) {
this.fileFileName = fileFileName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String execute() throws Exception {
InputStream is = new FileInputStream(file);
String root = ServletActionContext.getRequest().getRealPath("/upload");
File destFile = new File(root,this.getFileFileName());
OutputStream os = new FileOutputStream(destFile);
byte[] buffer = new byte[400];
int length = 0;
while((length=is.read(buffer)) > 0)
{
os.write(buffer);
}
is.close();
os.close();
return SUCCESS;
}
}
Struts2文件上传保存到数据库中,可以用Fileupload组件。
----------------------struts2文件上传实例如下----------------
package com.ssh.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class UploadAction extends ActionSupport {
private String username;
private String password;
private File file;
private String fileFileName;
private String fileContectType;
public File getFile() {
return file;
}
public void setFile(File file) {
this.file = file;
}
public String getFileContectType() {
return fileContectType;
}
public void setFileContectType(String fileContectType) {
this.fileContectType = fileContectType;
}
public String getFileFileName() {
return fileFileName;
}
public void setFileFileName(String fileFileName) {
this.fileFileName = fileFileName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String execute() throws Exception {
InputStream is = new FileInputStream(file);
String root = ServletActionContext.getRequest().getRealPath("/upload");
File destFile = new File(root,this.getFileFileName());
OutputStream os = new FileOutputStream(destFile);
byte[] buffer = new byte[400];
int length = 0;
while((length=is.read(buffer)) > 0)
{
os.write(buffer);
}
is.close();
os.close();
return SUCCESS;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上传的时候,可以用struts上传的方法。把你上传到 文件传到tomcat服务器,然后图片名称传到数据库。当你取图片的时候,先去数据库中取图片的名称,然后到服务器中找到对应的图片。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好,常见的开发中是不保存图片的,只保存他的路径,不然太浪费数据库空间了,而且影响性能,你要是非要保存,数据库提供了两个类型CLOB,BLOB。这就是保存大文本,图片,电影的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询