在Java项目中上传图片时如何使上传的图片自动保存到指定路径 30

上传时我把图片的路径通过StringbigimageString=request.getParameter("bigimage");Stringbigimage="ima... 上传时我把图片的路径通过
String bigimageString=request.getParameter("bigimage");
String bigimage = "image/"+bigimageString.substring(bigimageString.lastIndexOf("\\")+2),图片路径给改变了,可是这张图片在image下是不存在的,我如何使存在于image下
这张图片的路径已经改变了,成功了。给他的新路径是image/图片名称,但是image下并没有这张图片,我要问的是如何让这张图片存在于image 我用的是ssh框架+sqlserver2005,我没有用过structs2

有没有人有demo,给我发一个demo我的邮箱653375365@qq.com

谢谢
展开
 我来答
开发初学者的哥哥
2010-06-23 · TA获得超过625个赞
知道小有建树答主
回答量:378
采纳率:0%
帮助的人:113万
展开全部
用struts也可以实现 多文件上传

下面是我写的代码,

参数中有要保存的目录

作为参考!

/*文件目录*/
public static String [] fileArray={
"logo.png",
"index.swf",
"OEMInfo.txt",
"favicon.ico"};

/**
* @author Caoshun
* @see 接收并保存文件
* */
public static void receiveAndSaveAllFileByPath(ActionForm form,String rootPath1,String rootPath2){
String fileName="";
//获取表单中的文件资源
Hashtable<Object, Object> files = form.getMultipartRequestHandler().getFileElements();
//遍历文件,并且循环保存
//当前处理文件序号
int file_num=1;
for (Enumeration<Object> e = files.keys(); e.hasMoreElements();) {

/*根据处理的当前文件下标,确定文件名*/
fileName=fileArray[file_num-1];

FormFile file = (FormFile) files.get((String) e.nextElement());
if (file != null && file.getFileSize() > 0) {
try {
//使用formfile.getInputStream()来获取一个文件的输入流进行保存。
//文件名
//String fileName = file.getFileName();
//System.out.println("debug in AddEnterpriceAction.java on line 152 fileName is : "+fileName);
//文件大小
//int fileSize = file.getFileSize();
//文件流
InputStream is = file.getInputStream();
//将输入流保存到文件
//String rootPath = this.servlet.getServletContext().getRealPath("files");

//往cn中写入
File rf = new File(rootPath1);
FileOutputStream fos = null;
fos = new FileOutputStream(new File(rf, fileName));
byte[] b = new byte[10240];
int real = 0;
real = is.read(b);
while (real > 0) {
fos.write(b, 0, real);
real = is.read(b);
}

//往en中写入
File rf2 = new File(rootPath2);
InputStream is2 = file.getInputStream();
FileOutputStream fos2 = null;
fos2 = new FileOutputStream(new File(rf2, fileName));
byte[] b2 = new byte[10240];
int real2 = 0;
real2 = is2.read(b2);
while (real2 > 0) {
fos2.write(b2, 0, real2);
real2 = is2.read(b2);
}

//关闭文件流
fos.close();
is.close();
fos2.close();
is2.close();
} catch (RuntimeException e1) {
e1.printStackTrace();
} catch (Exception ee) {
ee.printStackTrace();
}
file.destroy();

}
file_num++;
}
}
土味洋芋
2010-06-23 · 智慧城市架构师,构建未来城市
土味洋芋
采纳数:134 获赞数:1166

向TA提问 私信TA
展开全部
String bigimage = request.getRealPath("image")+bigimageString.substring(bigimageString.lastIndexOf("\\");
别忘记先把bigimage打印出来看看,拼对了没有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
linzy410
2010-06-25 · TA获得超过257个赞
知道小有建树答主
回答量:259
采纳率:0%
帮助的人:201万
展开全部
光保存文件名有什么用啊,文件要上传来的啊
用struts2的上传方式吧,非常简单。
给你个地址:http://linzy410.javaeye.com/admin/blogs/698996
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
changejim
2010-06-23 · 超过10用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:0
展开全部
io写啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zymb1983
2010-06-25 · TA获得超过199个赞
知道小有建树答主
回答量:361
采纳率:0%
帮助的人:124万
展开全部
linzy410 正解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式