2017-01-25 12 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はサーバーにアップロードされ、もう1つは実行中のapp.iのスクリーンショットが表示されます。スクリーンショットに示すように署名をアップロードします。

+0

黒いimgはサーバーにアップロードされたファイルです。もう1つは実行中のapp.iのスクリーンショットを示しています。スクリーンショットに示されているように署名をアップロードします –

+0

このプロセス後に 'orderHome'に有効な画像が含まれていますか?ラベルを追加すると完了しますか?私はあなたが追加後に再確認していないので、表示されないかもしれないことに気付きました。デバッガでは、正しいイメージコンテンツを持っているかのように配列が見えますか?それをファイルに保存すると、有効なデータが入っていますか? –

+0

画像が表示されたら、オーダーフォームのラベルにそれを追加します。ネットワークマネージャーを使用して表示された配列には、画像コンテンツが含まれていることが示されます(正しい画像コンテンツであるかどうかはわかりませんが) 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 –