安卓传图片到java端怎么接收接收

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓传图片到java端怎么接收接收相关的知识,希望对你有一定的参考价值。

参考技术A package com.example.androidupload;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.util.Log;

import utils.FormFile;
import utils.SocketHttpRequester;

public class MainActivity extends Activity
private File file;
private Handler handler;
private static final String TAG="TAG";

@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i(TAG, "onCreate");

file = new File(Environment.getExternalStorageDirectory(), "123.jpg");
Log.i(TAG, "照片文件是否存在:"+file);
// handler=new Handler();
// handler.post(runnable);
new Thread(runnable).start();


Runnable runnable = new Runnable()

public void run()
Log.i(TAG, "runnable run");
uploadFile(file);
try
Thread.sleep(5000);
catch (InterruptedException e)
// TODO Auto-generated catch block
e.printStackTrace();

// handler.postDelayed(runnable, 5000);


;

/**
* 上传图片到服务器
*
* @param imageFile 包含路径
*/
public void uploadFile(File imageFile)
Log.i(TAG, "upload start");
try
// String requestUrl = "http://192.168.1.101:8083/upload/upload/execute.do";
String requestUrl = "http://192.168.0.242:8080/upload/upload/execute.do";
// String requestUrl = "http://localhost:8080/upload/upload/execute.do";

//请求普通信息
Map<String, String> params = new HashMap<String, String>();
params.put("username", "张三");
params.put("pwd", "zhangsan");
params.put("age", "21");
params.put("fileName", imageFile.getName());
//上传文件
FormFile formfile = new FormFile(imageFile.getName(), imageFile, "image", "application/octet-stream");

SocketHttpRequester.post(requestUrl, params, formfile);
Log.i(TAG, "upload success");
catch (Exception e)
Log.i(TAG, "upload error");
e.printStackTrace();

Log.i(TAG, "upload end");



这个是安卓端的代码
参考技术B 最简单的方法就是用xutils 参考技术C 和普通的上传请求一样,你可以使用commons-upload来解析请求,spring的话可以通过action的注解参数来获取上传的文件,jfinal可以用getFile()方法来获取。

如果你想简单,可以以字节流的形式发送文件,webuploder有个参数sendAsBinary ,将其设置为true,这样你java后端用request.getInputStream()即可获取文件的字节流,文件名等参数你可以通过request.getParameter()方法获得。推荐你这么做,最简单的方式。
参考技术D 用url传的、

PHP接收android传过来的图片

在android手机app上,上传图片,PHP服务端接收图片需要一下步骤

1 需要android 开发人员 把图片转成base64格式

2 PHP端接收转化后的base64字符串,然后进行转译

 function saveBase64Img($logo)
{
    $ret = ‘‘;
    preg_match(‘/^(data:\s*image\/(\w+);base64,)/‘, $logo, $result);
    $type = $result[2];
    $year = date(‘Ymd‘);
    $path = "public/uploads/certity/$year";
    if(!is_dir($path)){
        mkdir(iconv("UTF-8", "GBK", $path),0777,true);
    }
    //sudi_random_code(10) 生成随机字符串的函数
    $imgname = sudi_random_code(10).date(‘ymd‘);
    $new_file =$path.‘/‘. $imgname . "." . $type;

    $a =file_put_contents($new_file, base64_decode(str_replace($result[1],‘‘, $logo)));

    if($a){
       return $year.‘/‘.$imgname . "." . $type;
    }
    return $ret;

}

 

以上是关于安卓传图片到java端怎么接收接收的主要内容,如果未能解决你的问题,请参考以下文章

java后台要怎么接收从app那边传过来的图片(app那边传的是图片二进制流)?具体代码能写一下吗?

前端怎么传图片给后台(java)?

后端接收不到前端传入的header参数信息

前端传json,后端怎么接收?

接收到服务器传过来的json数据 怎么转成javascript对象

这种图片数据,java后台怎么接收保存