2010-12-18 44 views
2

2日間サーバーに画像をアップロードしようとしましたが、画像を投稿できませんでした。コードがコンパイルされ、正常に実行されましたが、イメージはサーバーに書き込まれません。イメージをサーバーにアップロードする方法

これは私のコーディングです:ここ

import java.io.BufferedInputStream; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.OutputStream; 
import java.net.HttpURLConnection; 
import java.net.MalformedURLException; 
import java.net.URL; 

import android.app.Activity; 
import android.content.Context; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.os.Bundle; 
import android.widget.Toast; 

public class sde extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     loadtoUrl("http:// 
"); 
    } 

    private void loadtoUrl(String string) { 

     // TODO Auto-generated method stub 
     try { 
      String pathToOurFile = "/sdcard/tamil.PNG"; 
      FileInputStream fileInputStream = new FileInputStream(new File(pathToOurFile)); 
      BufferedInputStream bis = new BufferedInputStream(fileInputStream,3000); 
      byte[] bt=new byte[bis.available()]; 
      HttpURLConnection connection = (HttpURLConnection)new URL(string).openConnection(); 
      connection.setDoOutput(true); 
      connection.setRequestMethod("POST"); 
      connection.connect(); 
      FileOutputStream input = (FileOutputStream) connection.getOutputStream(); 
      input.write(bt); 
     } catch (MalformedURLException e) { 
      Context context = null; 
      int duration = 0; 
      Toast.makeText(context, "erro in writing", duration); 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

    } 
} 

答えて

1
public boolean fileUpload(Map<String , String> params, ByteArrayOutputStream file, String link) throws Throwable{ 


    Account user = Util.getAccount(getApplicationContext()); 

    try{ 

     HttpClient httpClient = new DefaultHttpClient(); 

     HttpPost postRequest = new HttpPost(link); 

     MultipartEntity multipartContent = new MultipartEntity(); 

     if (params != null && !params.isEmpty()) { 
      for (Map.Entry<String , String> entry : params.entrySet()) { 
       multipartContent.addPart(entry.getKey(),new StringBody(entry.getValue(),Charset.forName(HTTP.UTF_8))); 
      } 
     } 

     byte[] data = file.toByteArray(); 

     ByteArrayBody img = new ByteArrayBody(data, "capture.jpg"); 
     multipartContent.addPart("image",img); 
     postRequest.setEntity(multipartContent); 
     HttpResponse res = httpClient.execute(postRequest); 
     res.getEntity().getContent().close(); 

     return true; 

    }catch(Throwable e){ 
     throw e; 
    } 

} 
関連する問題