private File upload;
private String uploadFileName;
private String uploadContextType;
public void setUpload(File upload) {
this.upload = upload;
}
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}
public void setUploadContextType(String uploadContextType) {
this.uploadContextType = uploadContextType;
}
public String imgUpload() {
ActionContext ac = ActionContext.getContext();
HttpServletResponse response = (HttpServletResponse) ac
.get(ServletActionContext.HTTP_RESPONSE);
HttpServletRequest request = (HttpServletRequest) ac
.get(ServletActionContext.HTTP_REQUEST);
return adminArticleService.imgUpload(request, response);
}
/**
* 获得图片的地址
* @return 图片的地址
* @throws Exception
*/
public String GetPhotoURL() throws Exception{
ServletContext sc= ServletActionContext.getServletContext();
String realpath=sc.getRealPath("/WEB-INF/classes/client.conf");
FastDFSClient client =new FastDFSClient(realpath);
byte[] b=File2byte(upload);//将File转换成字节数组
String poxtfix=uploadFileName.substring(uploadFileName.lastIndexOf(".")+1);//获得文件类型
String uploadFile=client.uploadFile(b, poxtfix);//上传文件
return GetPhotoServerURL()+uploadFile;
}
/**
* 从配置文件中读取图片服务器地址
* @return 图片服务器地址
* @throws Exception
*/
public String GetPhotoServerURL()throws Exception{
ServletContext sc= ServletActionContext.getServletContext();
String path=sc.getRealPath("/WEB-INF/classes/resource.properties");
System.out.println(path);
Properties prop=new Properties();
prop.load(new FileInputStream(path));
return (String)prop.get("IMAGE_SERVER_BASE_URL");
}
/**
* 把File转换成字节数组
* @param file
* @return 字节数组
*/
private byte[] File2byte(File file){
byte[] buffer = null;
try {
FileInputStream fis = new FileInputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] b = new byte[1024];
int n;
while ((n = fis.read(b)) != -1)
{
bos.write(b, 0, n);
}
fis.close();
bos.close();
buffer = bos.toByteArray();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return buffer;
}
在配置文件 client.conf 中配置一句话
tracker_server=192.168.22.252:22122