新聞管理軟體的完美圖片解決方案 (轉)

amyz發表於2007-08-15
新聞管理軟體的完美圖片解決方案 (轉)[@more@]

不知道您有沒有做過新聞管理,不知道對圖片處理是不是用著很麻煩的方法呢?

本文將介紹一種方法,讓您省時省力輕鬆完成圖片問題.

1.問題原因:

   我複製一篇新聞裡面有新聞的圖片,可是我想把這張圖片改名到自己的空間上,一般的方法是將圖片至本地,然後在例用上傳上傳至,

2.解決方法:

/*
 * Created on -1-17
 * CopyRight by
 */
package org.DesignAC.bean;
import .io.*;
import java.*;
import org.DesignAC.util.Log.Logger;
import org.DesignAC.util.ErrorMessage;
import java.text.NumberFormat;
/**
 * @author biggie
 *
 * Class Function:圖片上傳至伺服器指定目錄,指定更名
 */
public class Pic {
 /** 日誌 */
 private Logger log=Logger.getInstance("downloadPic");
 /** 錯誤資訊bean*/
 ErrorMessage ErrorMessage=null;
 /** 遠端圖片地址 */
 private String picurl;
 /** 伺服器相應該 */
 private String savepath;
 /** 無引數構造 */
 public downloadPic(){
 }
 /**
  * 建構函式
  * @param picurl 遠端圖片地址
  * @param savapath 伺服器相應該檔案
  */
 public downloadPic(String picurl,String savepath){
 this.picurl=picurl;
 this.savepath=savepath;
 NumberFormat nf = NumberFormat.getInstance();
 nf.setMaximumIntegerDigits(
 }
 /**
  * 遠端下載至伺服器
  * @return true上傳成功,false上傳失敗
  */
 public boolean download(){
 String fileurl=this.picurl;
 String savepath=this.savepath;
 try{ 
 int httpStatude;
 URL url =new URL(fileurl);
 URLConnection conn = url.openConnection();
 conn.connect();
 HttpURLConnection httpconn =(HttpURLConnection)conn;
 httpStatusCode =httpconn.getResponseCode();
 if(httpStatusCode!=HttpURLConnection.HTTP_OK){
  return an error code
 log.error("Connect to "+fileurl+" failed,return code:"+httpStatusCode);
 System.out.println("Connect to "+fileurl+" failed,return code:"+httpStatusCode);
 return false;
 }
 int filelen = conn.getContentLength();
 InputStream is = conn.getInputStream();
 byte[] tmpbuf=new byte[1024];
 File savefile =new File(savepath);
 if(!savefile.exists())
 savefile.createNewFile();
 FileOutputStream f= new FileOutputStream(savefile);
 int readnum = 0;
 if(filelen<0)//for , conn.getContentLength() return -1.
 {
 while(readnum>-1)
 {
 readnum = is.read(tmpbuf);
 if(readnum>0)
 fos.write(tmpbuf,0,readnum);
 }
 }
 else
 {
 int readcount =0;
 while(readcount {
 readnum=is.read(tmpbuf);
 if(readnum>0)
 {
 fos.write(tmpbuf,0,readnum);
 readcount =readcount +readnum;
 }
 }
 if(readcount {
 System.out.println("download error");
 log.error("download error!");
 is.close();
 fos.close();
 savefile.delete();
 return false;
 }
 }
 fos.flush();
 fos.close();
 is.close();
 }
 catch(Exception e)
 {
 e.printStackTrace();
 return false;
 }
 return true;
 }

}


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-958832/,如需轉載,請註明出處,否則將追究法律責任。

相關文章