当前位置: 代码迷 >> Java Web开发 >> jsp中如何实现文件的下传和上载
  详细解决方案

jsp中如何实现文件的下传和上载

热度:4706   发布时间:2013-02-25 21:11:17.0
jsp中怎么实现文件的上传和下载
上传已经可以了,怎么才能获得上传的文件名和路径,从而下载该文件,下完之后自动删除,给对方发文件要有一个提示接受的消息

------解决方案--------------------------------------------------------
http://xudejianlove.blog.163.com/blog/static/352189362007101313750573/
这边有个jsp木马程序,里面有文件的上传和下载,你可以研究下,不过没有自动删除,这个需求有点奇怪。
------解决方案--------------------------------------------------------
呵呵!
贴上!
先在搞.net java上传 下载如下!下载的是迅雷下载!

先说上传:
private File file;
private String fileFileName;
上面的名字是固定的不要改 file,fileFileName不要改
记得上面的属性封装一下!
//在action中添加商品方法
//在action中添加商品方法
public String insertsopaction() throws IOException
{
//上传到服务器路径
String targetDirectory=ServletActionContext.getRequest().getRealPath("/img");
File target=new File(targetDirectory,fileFileName);
FileUtils.copyFile(file, target);
 
//图片name
String s=getFileFileName().toString();//=new String(getFileFileName().getBytes("ISO8859-1"),"GBK");
// System.out.println("img="+s);可以看一下输出的图片的name是什么
shopp.setSopimg(s);
if (sopdaoinsert.insertSop(shopp)) {
return "success";
}else {
return "input";
}

}
------解决方案--------------------------------------------------------
迅雷下载如下:
package com.action;

import java.io.InputStream;
import java.io.UnsupportedEncodingException;
  
import org.apache.struts2.ServletActionContext;
import org.omg.CORBA.PUBLIC_MEMBER;

import com.opensymphony.xwork2.ActionSupport;


public class dow extends ActionSupport {
//下载文件原始存放路径
final String DOWNLOADFILEPATH="/img/";
//文件名参数变量
public String fileName;
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
//从下载文件原始存放路径读取得到文件输出流
public InputStream getDownloadFile() {
return
ServletActionContext.getServletContext().getResourceAsStream(DOWNLOADFILEPATH+fileName);
}
//如果下载文件名为中文,进行字符编码转换
public String getDownloadChineseFileName() {
String downloadChineseFileName = fileName;
 
try {
downloadChineseFileName = new String(downloadChineseFileName.getBytes(), "ISO8859-1");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}

return downloadChineseFileName;
}
 
public String execute() {
return SUCCESS;
}

}

还有就是要配置一下action
 <!-- 下载文件的Action定义 -->
<action name="download" class="com.action.dow">
<!-- 设置文件名参数,由页面上传入 -->
<param name="fileName"></param>
<result name="success" type="stream">
<!-- 下载文件类型定义 -->
<param name="contentType">text/plain</param>
<!-- 下载文件处理方法 -->
<param name="contentDisposition">
attachment;filename="${downloadChineseFileName}"
</param>
<!-- 下载文件输出流定义 -->
<param name="inputName">downloadFile</param>
</result>
</action> 

jsp超链接
<a href="download.action?fileName=${li.sopimg }">下载</a>
fileName 你懂的!给分吧!
  相关解决方案