【TGB官网】图片上传实现


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 24
    评论
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农胖虎-java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值