인터페이스 자바 프로세싱을 base64 인코딩 된 이미지 데이터를 반환

  시간의 인터페이스 시험 과정에서 반환 된 인터페이스 콘텐츠 암호화 중 일부는 텍스트의 큰 부분이다. 이 경우, 다시 암호화 된 데이터의 사진이있을 수있다, 당신은보기를 저장된 이미지에 이러한 데이터를 변환해야합니다.

예를 들면 :

  

 

 

   ";, 64 기수를 이미지 / JPEG 데이터"단어를 여기, 우리는 해당 키가 컨텐츠의 시작을 볼 수 있습니다. 우리는 단순히 이것은 JPEG 형식의 사진, 그리고 base64로 인코딩 있다고 생각합니다.

  JPath, 우리는 콘텐츠에 대한 직접적인 수익을 촬영 한 다음 전면 제거 할 수 있습니다 "데이터 : 이미지 / JPEG를, 64 기수를,"그것은 데이터의 실제 수익입니다.

//이 json으로 취득한 컨텐츠 데이터를 반환
문자열 콘텐츠 = JSONPath.read (JSON, "$의 .content" )로 .toString ());
// 전면 제거 "데이터 : 이미지 / JPEG, Base64로를 ," 단어 문자열 imgdata
= content.replace ( "데이터 : 이미지 / JPEG, Base64로", "" ) // Base64로 디코딩 Base64Decoder 디코더 = 새로운 새 Base64Decoder을 () 의 바이트 [] = 데이터 decoder.decodeBuffer (imgdata는) 을 위해 ( int로 = 0 I를, I는 <data.length입니다; I는 ++ ) { IF (데이터 [I] <0 ) { 데이터 [I]가 + = 256 ; } }
JPEG 파일로 저장 쓰기 // FileOutputStream 또는이 FOS
= 새로운 새의 FileOutputStream ( "D : \\ test.jpg를" ); fos.write (데이터); fos.flush (); fos.close ();

  물론, 인코딩 플러스 디코딩이있을 것이다. 우리가 64 기수로 인코딩 된 그림 파일을 추가하려면 다음 코드를 참조 할 수 있습니다 :

공용  정적 스트링 getImageStr (문자열 imgFile) { 
    의 InputStream inputStream을 = ;
    바이트 [] 데이터 = ;
    시도 { 
        inputStream을 = 새로운 FileInputStream에 (imgFile); 
        데이터 = 새로운  바이트 [inputStream.available ()]; 
        inputStream.read (데이터); 
        inputStream.close (); 
      } 캐치 (IOException이 전자) { 
        e.printStackTrace (); 
    } 
// 加编码 
    BASE64Encoder 인코더 = 새로운 BASE64Encoder ();
    반환 encoder.encode (데이터); 
}

  이것은 당신이 문자열을 base64 인코딩으로 이미지를 변환 할 수 있습니다.

  위의 코드의 직접 사용은 성공하지 말아야 경우 . 그 이유는 암호화 및 암호 해독의 사용은 sun.misc 패킷 sun.misc.BASE64Encoder / BASE64Decoder 클래스에서 Base64로와 Base64Decoder BASE64Encoder을 점이다.

  이 클래스는 내부 태양의 방법 및 자바 API, 보이지 JDK의 표준 라이브러리에없는 공개하지만 JDK의 클래스를 포함, 직접 사용할 수 있습니다. 그러나 직접 이클립스,하지만 당신은 클래스를 찾을 수 없습니다. 다음과 같은 솔루션은 다음과 같습니다 :

  1. 마우스 오른쪽 프로젝트 - 빌드 경로를 구성 - "빌드 경로"

  선택 라이브러리는 정의 된 규칙이 표시되지 않습니다, 규칙이 이전에 정의되어 있지 않은 경우, 액세스 규칙을 선택하고 JRE 시스템 라이브러리를 클릭

 

   2. 액세스 규칙 편집을 클릭 - "추가 한 다음 확인을 클릭합니다

 

   3. ** 선택 규칙, 해상도에 패턴을 드롭 다운 목록 상자를 액세스 선택한 다음 확인을 클릭

 

  

 

  이 작업 후, 우리는 성공적으로 Base64로 관련 클래스를 사용할 수 있습니다.

추천

출처www.cnblogs.com/generalli2019/p/11465132.html