android上传图片到php服务器,android 上传图片到php服务器

android代码

public class EX08_11 extends Activity

{

/* 变量声明

* newName:上传后在服务器上的文件名称

* uploadFile:要上传的文件路径

* actionUrl:服务器对应的程序路径 */

//  private String newName="345444.jpg";

private String uploadFile="/sdcard/345444.jpg";

private String actionUrl="http://*********/upload.php";

private TextView mText1;

private TextView mText2;

private Button mButton;

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mText1 = (TextView) findViewById(R.id.myText2);

mText1.setText("文件路径:\n"+uploadFile);

mText2 = (TextView) findViewById(R.id.myText3);

mText2.setText("上传网址:\n"+actionUrl);

/* 设定mButton的onClick事件处理 */

mButton = (Button) findViewById(R.id.myButton);

mButton.setOnClickListener(new View.OnClickListener()

{

public void onClick(View v)

{

uploadFile();

}

});

}

/* 上传文件吹Server的method */

private void uploadFile()

{

//    String end = "\r\n";

//    String twoHyphens = "--";

String boundary = "*****";

try

{

URL url =new URL(actionUrl);

HttpURLConnection con=(HttpURLConnection)url.openConnection();

/* 允许Input、Output,不使用Cache */

//      con.setReadTimeout(5 * 1000);

con.setDoInput(true);

con.setDoOutput(true);

con.setUseCaches(false);

/* 设定传送的method=POST */

con.setRequestMethod("POST");

/* setRequestProperty */

con.setRequestProperty("Connection", "Keep-Alive");

con.setRequestProperty("Charset", "UTF-8");

con.setRequestProperty("enctype",

"multipart/form-data;boundary="+boundary);

/* 设定DataOutputStream */

DataOutputStream ds =

new DataOutputStream(con.getOutputStream());

/*ds.writeBytes(twoHyphens + boundary + end);

ds.writeBytes("Content-Disposition: form-data; " +

"name=\"file1\";filename=\"" +

newName +"\"" + end);

ds.writeBytes(end);  */

/* 取得文件的FileInputStream */

FileInputStream fStream = new FileInputStream(uploadFile);

/* 设定每次写入1024bytes */

int bufferSize = 1024;

byte[] buffer = new byte[bufferSize];

int length = -1;

/* 从文件读取数据到缓冲区 */

while((length = fStream.read(buffer)) != -1)

{

/* 将数据写入DataOutputStream中 */

ds.write(buffer, 0, length);

}

//      ds.writeBytes(end);

//      ds.writeBytes(twoHyphens + boundary + twoHyphens + end);

/* close streams */

fStream.close();

ds.flush();

/* 取得Response内容 */

InputStream is = con.getInputStream();

int ch;

StringBuffer b =new StringBuffer();

while( ( ch = is.read() ) != -1 )

{

b.append( (char)ch );

}

/* 将Response显示于Dialog */

showDialog(b.toString().trim());

/* 关闭DataOutputStream */

ds.close();

}

catch(Exception e)

{

showDialog(""+e);

}

}

/* 显示Dialog的method */

private void showDialog(String mess)

{

new AlertDialog.Builder(EX08_11.this).setTitle("Message")

.setMessage(mess)

.setNegativeButton("确定",new DialogInterface.OnClickListener()

{

public void onClick(DialogInterface dialog, int which)

{

}

})

.show();

}

}

php代码

$data = file_get_contents('php://input');

$time = date("YmdHis");

$rand = rand(0,100);

$filename = $_SERVER['DOCUMENT_ROOT'].'/image/'.$time.$rand.'.jpg';

while(file_exists($filename))

{

$filename = $_SERVER['DOCUMENT_ROOT'].'/image/'.$time.rand(0,100).'.jpg';

}

echo $filename;

$handle = fopen($filename, 'w');

if ($handle)

{

fwrite($handle,$data);

fclose($handle);

echo "success"; } ?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值