文件上传问题 请问我上传文件的时候,FIil file = new File(localname);InputStream input = new FileInputStream(file);是否是读本机的文件,我们项目部署在linux上以后老是报找不到文件,怎么回事啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 FIil file = new File(localname);我想知道你这个 “localname”是神马 ? 你写的localname应该是你本地的文件路径这样是不对的,你应该写个文件流,把你本地的文件首先上传到服务器linux上找不到文件?是否windows上正常,如果是的话那就是文件路径不对,windows路径方式是"\",linux是"/",2者是相反的,具体百度下linux的路径到底是 我前段时间也遇到了这样的问题!本机上可以正常运行!部署到linux上以后老是报找不到文件,抛异常!弄了两天才搞定,原来是上传文件夹的权限问题!你可以试一下!仅供参考!呵呵! windows路径方式是"\",linux是"/",2者是相反的同时windows下的是采用的d:或是c:的某个文件linux下采用的是文件夹的方式,存放数据的 找不到文件么,多半是你路径的问题linux路径示例:/usr/local/myprog/func.sh 请问你是怎么实现的呢,我用FTP方式也是这样,你是不是首先把文件保存到linux服务器上,然后再上传呢???很想知道你怎么实现的 我要做的效果是我们项目部署在linux上,可是我要上传到10.8.2.6 windows系统指定的一个共享文件夹里面,我在windows上测试是没问题的,可以上传的。一部署到linux上就不行了,我是不是应该先把文件上传到linux服务器上,然后再从linux上传到windows 呢? public class UploadAction extends ActionSupport implements Serializable{ /** * */ private static final long serialVersionUID = 1L; /** * 文件上传文件名为file+FileName固定写法 */ private File[] file; private String[] fileFileName; private String[] fileContentType; public String[] getFileFileName() { return fileFileName; } public File[] getFile() { return file; } public void setFile(File[] file) { this.file = file; } public void setFileFileName(String[] fileFileName) { this.fileFileName = fileFileName; } public String[] getFileContentType() { return fileContentType; } public void setFileContentType(String[] fileContentType) { this.fileContentType = fileContentType; } public String execute() throws Exception { for (int i = 0; i < this.file.length; i++) { System.out.println(i); InputStream is = new FileInputStream(this.file[i]);// request.getRealpath()方法已经过时// String root = ServletActionContext.getRequest().getRealPath("/upload"); String str = ServletActionContext.getServletContext().getRealPath("/upload"); File f = new File(str, this.fileFileName[i]); OutputStream os = new FileOutputStream(f); byte[] b = new byte[10000000]; while (is.read(b) != -1) { System.out.println(b.length); os.write(b, 0, b.length); } is.close(); os.close(); } return SUCCESS; }}批注:”/upload“是在webroot目录下键的一个文件夹,上传成功后,在服务器webapps目录下,该项目webroot下的upload文件夹下,就会有你上传的文件了,一旦服务器关闭,那么这里面上传的文件会自动消失,它会随着webcontext容器的销毁,而销毁掉。 大数据量 求效率 新人求教,关于jquery 的ajax 的一些最基础的例子 是jsp的 lucene小问题,大家捧捧场。 查询?? 做开发的快乐! (散分 100) 请问各位大侠怎样在spring中用类似getBean的方法初始化一个数组? 写"文件上传"代码,对我来说很难的问题. 大家来给我点已经,UP也有分 关于dom解析xml的问题 为什么json的方法进不去 java mvc那个好 js文件下载 进度条
你写的localname应该是你本地的文件路径
这样是不对的,你应该写个文件流,把你本地的文件首先上传到服务器
linux上找不到文件?
是否windows上正常,如果是的话
那就是文件路径不对,windows路径方式是"\",linux是"/",2者是相反的,具体百度下linux的路径到底是
同时windows下的是采用的d:或是c:的某个文件
linux下采用的是文件夹的方式,存放数据的
linux路径示例:
/usr/local/myprog/func.sh
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* 文件上传文件名为file+FileName固定写法
*/
private File[] file;
private String[] fileFileName;
private String[] fileContentType; public String[] getFileFileName() {
return fileFileName;
} public File[] getFile() {
return file;
} public void setFile(File[] file) {
this.file = file;
} public void setFileFileName(String[] fileFileName) {
this.fileFileName = fileFileName;
} public String[] getFileContentType() {
return fileContentType;
} public void setFileContentType(String[] fileContentType) {
this.fileContentType = fileContentType;
}
public String execute() throws Exception {
for (int i = 0; i < this.file.length; i++) {
System.out.println(i);
InputStream is = new FileInputStream(this.file[i]);
// request.getRealpath()方法已经过时
// String root = ServletActionContext.getRequest().getRealPath("/upload");
String str = ServletActionContext.getServletContext().getRealPath("/upload");
File f = new File(str, this.fileFileName[i]);
OutputStream os = new FileOutputStream(f); byte[] b = new byte[10000000];
while (is.read(b) != -1) {
System.out.println(b.length);
os.write(b, 0, b.length);
}
is.close();
os.close();
}
return SUCCESS;
}
}批注:”/upload“是在webroot目录下键的一个文件夹,上传成功后,在服务器webapps目录下,该项目webroot下的upload文件夹下,就会有你上传的文件了,一旦服务器关闭,那么这里面上传的文件会自动消失,它会随着webcontext容器的销毁,而销毁掉。