java 上传文件的时候获取客户端的路径

 我来答
踏月听音
2011-05-12 · TA获得超过132个赞
知道小有建树答主
回答量:321
采纳率:0%
帮助的人:161万
展开全部
请问你用框架了吗 如果是struts2 的话 专门有一个文件类型的变量存储文件信息 直接file.getPath就可以得到路径 或者浏览的时候地址会出现在页面上的 用js获取也可以的 希望能帮到你
198901245631
推荐于2016-11-05 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1720万
展开全部
除了IE浏览器可以获取的到客户端文件路径,其余的所有浏览器都是不支持此功能的。所以现在这个功能是不被认可的。

解释:上传文件的时候如果浏览器直接读取客户端的文件路径,存在一定的安全隐患的,很容易遭到木马或者是应用程序的恶意窜改,所以现在已经不被支持了,建议通过io的形式进行实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qhfbesc
2011-05-12 · TA获得超过858个赞
知道小有建树答主
回答量:1035
采纳率:33%
帮助的人:635万
展开全部
一般不建议你这么做的,你在浏览的网页上传文件的时候也不希望自己上传的绝对路径暴露到人家的服务器端把
<input file>或者是<s:file>之类的标签根本不要你自己考虑文件的地址,取出来的就是文件名, 保存到服务器的路径才要你自己设定
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
s3938931
2011-05-12 · TA获得超过871个赞
知道小有建树答主
回答量:577
采纳率:100%
帮助的人:172万
展开全部
/**
*
*/
private static final long serialVersionUID = 1L;
private File doc;
private String fileName;
private String contentType;
private String dir;
private String targetFileName;

public void setDoc(File file) {
this.doc = file;
}

public void setDocFileName(String fileName) {
this.fileName = fileName;
}

public void setDocContentType(String contentType) {
this.contentType = contentType;
}

@SuppressWarnings("deprecation")
@Override
public String execute() throws Exception {
String realPath = ServletActionContext.getRequest().getRealPath(
"/upload");
String targetDirectory = realPath;
targetFileName = generateFileName(fileName);
setDir(targetDirectory + "\\" + targetFileName);
File target = new File(targetDirectory, targetFileName);
FileUtils.copyFile(doc, target);
return SUCCESS;
}

private String generateFileName(String fileName) {
DateFormat format = new SimpleDateFormat("yyMMddHHmmss");
String formatDate = format.format(new Date());
int random = new Random().nextInt(10000);
int position = fileName.lastIndexOf(".");
String extension = fileName.substring(position);
return formatDate + random + extension;
}

public String getContentType() {
return contentType;
}

public void setContentType(String contentType) {
this.contentType = contentType;
}

public String getDir() {
return dir;
}

public void setDir(String dir) {
this.dir = dir;
}

public String getTargetFileName() {
return targetFileName;
}

public void setTargetFileName(String targetFileName) {
this.targetFileName = targetFileName;
}

里面是整个文件上传操作,你看看吧!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式