上传出现很奇怪的问题
两天没碰项目,今天一上来突然发现上传出问题了,无论我上传什么文件,后台输出的地址都是tomcat下的:D:workspace.metadata.me_tcatworkCatalinalocalhostewswebupload_77616d3e_13131e02ddf__8000_00000004.tmp
无论我上传的是什么类型,统统变成tmp,这是什么情况,以前从来没有出现过,我也没有修改过相关的代码!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
struts2:
<input type="file" name="reductionFile" id="reductionFile" style="display: none;"/>
action:
/**
* 把本地的数据库备份文件上传到服务器上
* file:从前台获取的file
* */
public String upload(File file ){
String name = "";
try {
DataInputStream in = new DataInputStream(new FileInputStream(file));
// FileInputStream in = new FileInputStream(file);
String backPath = ServletActionContext.getServletContext().getRealPath("/")+"ewssite/back/";
name = System.currentTimeMillis()+".sql";
backPath = backPath + name;
// FileOutputStream out = new FileOutputStream(new File(backPath));
DataOutputStream out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(backPath)));
int b = -1;
while ((b = in.read()) != -1) {
out.write(b);
}
out.close();
in.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return name;
}
你是用什么上传组件呢?代码贴出来看看吧
可是我file.getPath()的到的地址是这个:D:workspace.metadata.me_tcatworkCatalinalocalhostewswebupload_77616d3e_13131e02ddf__8000_00000004.tmp 这让我很为难
这是上传组件自动保存的临时文件而已,可以不用理会
谢谢红薯哥,我上传的功能是完成了 但是这个的确我以前的理念有了冲突,我以前都是action有个File类型的字段接受页面上传的文件流,在action中file.getPath()就可以拿到地址,但是现在的确是拿不到了,但是可以直接对流操作 以前拿地址和name为了判断文件类型,现在没法在action中判断类型了
有啥为难的,你需要把这个 File 复制到你想要的地方,设置好文件名即可