SSH纪实--上传图片及本地图片显示

真的不得不说网上的材料真的是太杂乱了...每次都害得我一直摸索摸索方案,但是一直找不到解决的办法

很气愤

ssh上传图片并预览显示

ACTION方法:

<span style="color:#333399;">package com.liulianggu.uploadfile;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;

import com.liulianggu.post.postAction;

public class FileUploadAction extends postAction {
	// 上传文件标题
	private String fileTitle;
	// 上传文件域
	private File upload;
	// 上传文件类型
	private String uploadFileType;
	// 上传文件名
	private String uploadFileName;
	// 直接在sturts.xml文件中配置值的属性
	private String savePath_images = "/imageFile";
	// 接受struts.xml文件配置值的方法
	public String getSavePath_images() {
		return ServletActionContext.getServletContext().getRealPath(savePath_images);
	}

	public void setSavePath_images(String savePath_images) {
		this.savePath_images = savePath_images;
	}

	public String getFileTitle() {
		return fileTitle;
	}

	public void setFileTitle(String fileTitle) {
		this.fileTitle = fileTitle;
	}

	public File getUpload() {
		return upload;
	}

	public void setUpload(File upload) {
		this.upload = upload;
	}

	public String getUploadFileType() {
		return uploadFileType;
	}

	public void setUploadFileType(String uploadFileType) {
		this.uploadFileType = uploadFileType;
	}

	public String getUploadFileName() {
		return uploadFileName;
	}

	public void setUploadFileName(String uploadFileName) {
		this.uploadFileName = uploadFileName;
	}

	// 上传头像
	public String upload_images() {
		try {
			String realpath = ServletActionContext.getServletContext().getRealPath("/imageFile");
			System.out.println(realpath);
			System.out.println(realpath);
			System.out.println(uploadFileName);
			File savefile = new File(new File(realpath), uploadFileName);
            if (!savefile.getParentFile().exists()){
                savefile.getParentFile().mkdirs();
            }
            FileUtils.copyFile(upload, savefile);
			FileOutputStream fos = new FileOutputStream(getSavePath_images()
					+ "\\" + getUploadFileName());
			FileInputStream fis = new FileInputStream(getUpload());
			byte[] buffer = new byte[1024];
			int len = 0;
			try {
				while ((len = fis.read(buffer)) > 0) {
					fos.write(buffer, 0, len);
				}
				fos.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return SUCCESS;
	}
}
</span>


JSP:接受上传文件的页面

<span style="color:#333399;"><body>
	<div align="center">
		<form action="FileUpLoad.action"
			method="post" </span><span style="color:#ff0000;">enctype="multipart/form-data"</span><span style="color:#333399;">>
			<label for="upload">上传头像:</label> <input type="file" name="upload">
			<br> <br> <input type="submit" value="上传">
		</form>
	</div>
</body></span>

JSP:显示预览图片的页面

<body>
	<div align="center">
 <span style="white-space:pre">	</span><img src="imageFile/<s:property value="uploadFileName"/>"></img> </div>
	qq:<img src="imageFile/QQ.png"> 
</body> 

其实最最最重要的是你的文件目录

jsp是不能显示绝对路径下的图片的,只能使用相对路径。

其次,jsp页面可以直接使用和它同级目录下的图片,形式如下:

<img src="imageFile/QQ.png"> 

然后 你只需要将你上传的图片放在一个文件夹中,再修改目录就行了


关于目录问题

比如你的图片实际存放的位置是F:/tomcat/webapps/projectName/imageFile

那么你的图片src就直接写“imageFile/imageName”就可以了

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值