日期:2014-05-18  浏览次数:20785 次

【急】java Struts2 根据文件路径可以上传附件吗?
本帖最后由 lgk56 于 2013-07-11 17:44:58 编辑
因为公司框架问题使用Struts2的文件上传不方便,所以想找更好的方法, 请问拿到了文件的路径可以把文件上传到服务器吗?   怎么根据文件路径获取文件的大小之类的,求解决啊,其他上传控件就不要推荐啦,试过N种了,现在就想根据文件路径上传,不知道有没有这样实现的,求真相。最好贴个代码之类啊,回帖一生平安啊。
Java Struts 上传 附件上传 文件路径

------解决方案--------------------
我用的是struts1  在form中配置 FormFile importFile 字段,然后再action中。。。
ServiceProfitContactUploadForm imForm = (ServiceProfitContactUploadForm) form;
FormFile importFile = imForm.getImportFile();
InputStream is = importFile.getInputStream();

String store_path = request.getSession().getServletContext().getRealPath("/");
String relativePath = "fileupload/smartheat/profitInfo/ServiceProfitInfo_" + nowtime + ".xls";
String filePath = store_path + relativePath;
OutputStream os = new FileOutputStream(filePath);
int bytes = 0;
byte[] buffer = new byte[is.available()];
while((bytes=is.read(buffer, 0, is.available()))!=-1) {
os.write(buffer,0,bytes);
}



------解决方案--------------------
2L说得很对了,如果楼主是2L说的想法的话就太2了,那是不可能的。客户端路径,服务器怎么可能知道。

直接使用<input type="file" name="myFile" />
Action中使用private File myFile来接收就OK了。有了File你不就什么都知道了吗。
struts2上传文件有默认大小限制,可以在struts.xml中配置修改
------解决方案--------------------
引用:
Quote: 引用:

2L说得很对了,如果楼主是2L说的想法的话就太2了,那是不可能的。客户端路径,服务器怎么可能知道。

直接使用<input type="file" name="myFile" />
Action中使用private File myFile来接收就OK了。有了File你不就什么都知道了吗。
struts2上传文件有默认大小限制,可以在struts.xml中配置修改


确实挺2的啊,因为公司框架封装了用Json提交表单,后台根本接收不到file ,除非我自己在表单定义Actiong,页面上千行代码已经做好了的,、改起来十分不方便,唯有想到这种【通过JS传递路径到后台处理】,继续求真相!!!!


你这服务器端,能直接访问客户端的的磁盘路径来上传文件?你这不是瞎扯么,这客户机的东西都在你服务器机器上呢?!!你是不是一直用自己的电脑既做服务器又做客户端的 ,把自己整迷糊了吧?!?,这要真能这么干,我写上某个人机器上的某个文件的路径,我自己就传上来了,想看啥看啥,这可能嘛!!!