3个回答
展开全部
这个很简单啊,就是定义一个input file类型的,然后上传,获取上传的文件,用inputstream读取,然后用outputstream写入到你服务器的指定位置就行了。如果用struts来接收上传文件就简单了,只需要命名和jsp文件input file类型名称相同的字段就能获取上传文件了,file类型的。
/** 新闻代表图片 */
private File newsPicture;//文件字段和jsp 中文件name相同
private String newsPictureFileName;//文件名称,可以自动获取
private String newsPictureContentType;//文件类型,可以自动判断
//上传的共用方法,srcFile源文件,savePath保存的路径,fileName文件名称,你使用这个方法就可以上传了。
public static File uploadUtil(File srcFile,String savePath,String FileName){
InputStream is = null;
OutputStream os = null;
File toFile = null;
if(srcFile!=null){
try {
is = new FileInputStream(srcFile);
String fileName = (new Date().getTime())+FileName.substring(FileName.indexOf("."));
toFile = new File(ServletActionContext.getServletContext().getRealPath(savePath), fileName);
os = new FileOutputStream(toFile);
byte[] buffer = new byte[1024];
int length = 0;
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
os.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
is.close();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return toFile;
}
/** 新闻代表图片 */
private File newsPicture;//文件字段和jsp 中文件name相同
private String newsPictureFileName;//文件名称,可以自动获取
private String newsPictureContentType;//文件类型,可以自动判断
//上传的共用方法,srcFile源文件,savePath保存的路径,fileName文件名称,你使用这个方法就可以上传了。
public static File uploadUtil(File srcFile,String savePath,String FileName){
InputStream is = null;
OutputStream os = null;
File toFile = null;
if(srcFile!=null){
try {
is = new FileInputStream(srcFile);
String fileName = (new Date().getTime())+FileName.substring(FileName.indexOf("."));
toFile = new File(ServletActionContext.getServletContext().getRealPath(savePath), fileName);
os = new FileOutputStream(toFile);
byte[] buffer = new byte[1024];
int length = 0;
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
os.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
is.close();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return toFile;
}
追问
当加载一个JSP页面的时候从服务器下载文件 到客户端怎么实现
追答
下载要稍微麻烦一点:需要配置struts.xml配置流,需要
1、
2、在需要下载的action中
application/octet-stream;charset=ISO8859-1//字符集,必须转换成ISO文件名才正确
attachment;filename="${fileRealName}"//下载名为filename中的值
downloadFile
3、下载方法需要该方法
public InputStream getDownloadFile() throws Exception
{
this.setFileName(fileName);
String name = this.getFileRealName();
String realPath = "/upload/"+name;
InputStream in = ServletActionContext.getServletContext().getResourceAsStream(realPath);
return in;
}
4、页面需要下载列表
${uploadFiles.filename}网上有很多资源,你多看下就能懂
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-11
展开全部
程序要在客户端运行,使用HttpClient下载,apache官网有例子、有文档
追问
web 程序要在服务端运行,怎么从服务端下载文件到客户端的指定位置
追答
写WEB,服务器端是没有权限直接访问客户端的本地资源的———除非客户端的权限全开放了,那写applet可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |