安卓传图片到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那边传的是图片二进制流)?具体代码能写一下吗?