2017-01-25 7 views
1

코드 명 하나의 서명에서 캡처 한 서명을 내 PHP 서버에 업로드하려고합니다. 문제는 업로드 된 이미지가 검은 색 이미지라는 것입니다. 아래 코드는 내 코드입니다 .코드 명 one signatueComponent 이미지 업로드

SignatureComponent sig = new SignatureComponent(); 
sig.addActionListener((evt)-> { 
try{ 
img = sig.getSignatureImage(); 
}catch(Exception ex){ 
ex.printStackTrace(); 
     } 
// Now we can do whatever we want with the image of this signature. 
}); 
Button sv = new Button("save"); 
sv.addActionListener(new ActionListener(){ 
     @Override 
     public void actionPerformed(ActionEvent evt) { 
      try { 


       Label it = new Label(); 
       it.setIcon(img); 
       orderHome.add(it); 

       ImageIO imgIO= ImageIO.getImageIO(); 
       ByteArrayOutputStream out = new ByteArrayOutputStream(); 
       imgIO.save(img, out,ImageIO.FORMAT_JPEG, 1); 
       byte[] ba = out.toByteArray(); 
       MultipartRequest request = new MultipartRequest(); 
       String url = Global.url1 + "upload_photo.php"; 

       request.setUrl(url); 


        request.addData("file",ba,"image/jpeg"); 
        request.addArgument("order_id", order_id); 
       request.addArgument("customer_id", customer_id); 

       NetworkManager.getInstance().addToQueue(request); 

및 PHP 코드

[![image uploaded][1]][1] 
<?php 
@SESSION_START(); 
require_once("../includes/functions.php"); 
$target_path="../uploads/"; 
$customer_id=$_REQUEST['customer_id']; 
$order_id=$_REQUEST['order_id']; 
$uid = uniqid(); 
$file =$uid.".jpg"; 
$sucess=move_uploaded_file($_FILES["file"]["tmp_name"], $target_path.$file);     

image uploaded to server screenshot of the simulator

검은 IMG 파일입니다 whic h는 서버에 업로드되고 다른 하나는 실행중인 앱의 스크린 샷을 보여줍니다 .i는 스크린 샷과 같이 서명을 업로드하려고합니다.

+0

검은 색 img는 서버에 업로드되는 파일입니다. 다른 하나는 실행중인 app.i의 스크린 샷을 보여줍니다. 스크린 샷과 같이 서명을 업로드하려고합니다. –

+0

'orderHome'에는이 프로세스 이후 유효한 이미지가 포함되어 있습니까? 레이블을 추가하면 완료됩니까? 내가 추가 한 후에 다시 유효성을 확인하지 않았으므로 표시되지 않을 수 있습니다. 디버거에서 배열에 올바른 이미지 내용이있는 것처럼 보입니까? 파일에 저장하면 유효한 데이터가 포함됩니까? –

+0

네트워크 관리자를 사용하여 보았을 때 orderHome form.the 배열의 라벨에 이미지를 추가하면 이미지가 표시됩니다. 네트워크 관리자를 사용하여 볼 때 일부 이미지 콘텐츠가 포함되어 있음을 보여줍니다 (올바른 이미지 콘텐츠인지 확실하지는 않지만). 문제는 이미지 file.it에 저장하면 위에 추가 한 검은 색 이미지가 표시됩니다. –

답변

0

서명이 반투명 이미지를 생성합니다. JavaSE에는 반투명 이미지를 JPEG로 저장하는 데 몇 가지 문제가 있으므로 PNG가 잘 작동합니다. 또 다른 대안은 불투명 한 이미지를 생성하고 JPEG 예컨대 : 같은 것을 저장하는 것입니다

Image myImage = Image.create(img.getWidth(), img.getHeight()); 
myImage.getGraphics().drawImage(img, 0, 0); 

새로운 myImage는 백색 배경으로 불투명하게 될 것입니다.

+0

awesome.thank you –