上传照片可以从相册选也可以拍照后上传,一定要是能用的哦,邮箱:[email protected]
感谢各位好心人

解决方案 »

  1.   

    // 拍照的Activity
    public class MainActivity extends Activity { public static final int NONE = 0;
    public static final int PHOTOHRAPH = 1;// 拍照
    public static final int PHOTOZOOM = 2; // 缩放
    public static final int PHOTORESOULT = 3;// 结果 public static final String IMAGE_UNSPECIFIED = "image/*";
    ImageView headImageView = null;
    Button button0 = null;
    Button button1 = null;
    private String ImageName;
    private Button postButton; public static String getStringToday() {
    Date currentTime = new Date();
    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
    String dateString = formatter.format(currentTime);
    return dateString;
    } @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    headImageView = (ImageView) findViewById(R.id.imageID);
    button0 = (Button) findViewById(R.id.btn_01);// 相册按钮
    button1 = (Button) findViewById(R.id.btn_02);// 拍照按钮
    postButton = (Button) findViewById(R.id.buttonPost); button0.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
    // 调用系统的相册
    Intent intent = new Intent(Intent.ACTION_PICK, null);
    intent.setDataAndType(
    MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
    IMAGE_UNSPECIFIED); // 调用剪切功能
    startActivityForResult(intent, PHOTOZOOM);
    }
    }); button1.setOnClickListener(new View.OnClickListener() { public void onClick(View v) {
    ImageName = "/" + getStringToday() + ".jpg"; // 调用系统的拍照功能
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(
    Environment.getExternalStorageDirectory(), ImageName)));
    startActivityForResult(intent, PHOTOHRAPH);
    }
    }); postButton.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) {
    // TODO Auto-generated method stub
    Bitmap photo = BitmapFactory.decodeResource(getResources(),
    R.drawable.ic_launcher);
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    photo.compress(Bitmap.CompressFormat.JPEG, 75, stream);// (0 -
    // 100)压缩文件
    InputStream isBm = new ByteArrayInputStream(stream
    .toByteArray());
    NewService newService = new NewService();
    newService.UploadHead(
    "http://192.168.8.185/MobileService/UploadHead.ashx",
    isBm);
    headImageView.setImageBitmap(photo);
    }
    });
    } // 调用startActivityResult,返回之后的回调函数
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == NONE)
    return;
    // 拍照
    if (requestCode == PHOTOHRAPH) {
    // 设置文件保存路径这里放在跟目录下
    File picture = new File(Environment.getExternalStorageDirectory()
    + ImageName);
    startPhotoZoom(Uri.fromFile(picture));
    } if (data == null)
    return; // 读取相册缩放图片
    if (requestCode == PHOTOZOOM) {
    startPhotoZoom(data.getData());
    }
    // 处理结果
    if (requestCode == PHOTORESOULT) {
    Bundle extras = data.getExtras();
    if (extras != null) {
    Bitmap photo = extras.getParcelable("data");
    // Bitmap photo =BitmapFactory.decodeResource(getResources(),
    // R.drawable.ic_launcher);
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    photo.compress(Bitmap.CompressFormat.JPEG, 75, stream);// (0 -
    // 100)压缩文件
    InputStream isBm = new ByteArrayInputStream(
    stream.toByteArray());
    // NewService newService=new NewService();
    // newService.UploadHead("http://192.168.8.185/MobileService/UploadHead.ashx",
    // isBm);
    headImageView.setImageBitmap(photo);
    } } super.onActivityResult(requestCode, resultCode, data);
    } public void startPhotoZoom(Uri uri) {
    Intent intent = new Intent("com.android.camera.action.CROP");
    intent.setDataAndType(uri, IMAGE_UNSPECIFIED);
    intent.putExtra("crop", "true");
    // aspectX aspectY 是宽高的比例
    intent.putExtra("aspectX", 1);
    intent.putExtra("aspectY", 1);
    // outputX outputY 是裁剪图片宽高
    intent.putExtra("outputX", 64);
    intent.putExtra("outputY", 64);
    intent.putExtra("return-data", true);
    startActivityForResult(intent, PHOTORESOULT);
    }}
    ------------------------------------------
    //上次照片
    public class NewService { HttpURLConnection con;
    URL url; public void UploadHead(String u,InputStream in) { //InputStream in;
    byte[] buf = new byte[1024]; try {

    //in = new ByteArrayInputStream(bitmap.toByteArray());
    url = new URL(u);
    con = (HttpURLConnection) url.openConnection();
    con.setConnectTimeout(200000);
    con.setReadTimeout(120000);
    con.setRequestMethod("POST");
    con.setDoOutput(true);
    con.setDoInput(true); OutputStream osw = con.getOutputStream();
    while (in.read(buf) != -1) {
    osw.write(buf);
    }
    osw.flush();
    osw.close();
    in.close();
    int code = con.getResponseCode();
    System.out.println("code:" + code); } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }
      

  2.   


    那个图片上传的newservice也把代码粘帖下好不
      

  3.   

    //上次照片
     public class NewService {
     
    HttpURLConnection con;
     URL url;
     
    public void UploadHead(String u,InputStream in) {
     
    //InputStream in;
     byte[] buf = new byte[1024];
     
    try { //in = new ByteArrayInputStream(bitmap.toByteArray());
     url = new URL(u);
     con = (HttpURLConnection) url.openConnection();
     con.setConnectTimeout(200000);
     con.setReadTimeout(120000);
     con.setRequestMethod("POST");
     con.setDoOutput(true);
     con.setDoInput(true);
     
    OutputStream osw = con.getOutputStream();
     while (in.read(buf) != -1) {
     osw.write(buf);
     }
     osw.flush();
     osw.close();
     in.close();
     int code = con.getResponseCode();
     System.out.println("code:" + code);
     
    } catch (Exception e) {
     e.printStackTrace();
     }
     }
     }