起初发现问题,以为是代码出错,于是排查代码。检查上传路径
System.out.println(":::::::::导入数据::::::::");
System.out.println("uploadFileName::"+this.myFileFileName);
System.out.println(optionValue);//页面下拉框传进的值
String myFileFileNameNew = new Date().getTime() + "_" + myFileFileName;// 毫秒数+文件姓名
String targetPath = ServletActionContext.getServletContext().getRealPath("/")+"uploadtelnumber"+File.separator+myFileFileNameNew;
System.out.println(targetPath);
File targetFile = new File(targetPath);
copyFile(myFile, targetFile);
//*********************************
public void copyFile(File src, File target) {
InputStream is = null;
OutputStream os = null;
byte[] number = new byte[BUFFER_SIZE];
try {
is = new BufferedInputStream(new FileInputStream(src), BUFFER_SIZE);
os = new BufferedOutputStream(new FileOutputStream(target),
BUFFER_SIZE);
while (is.read(number) > 0) {
os.write(number);
}
os.close();
is.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
结果发现没有问题,但是依然上传不上去文件,后发现是由于linux下的文件有权限控制原因,于是把服务器上传的项目文件夹,设置为可读可写的操作,
进入到ls可以看到的上传文件夹目录后,执行chmod 777 fileurl / (chmod 777 file),问题解决