Android将Base64字符串发布到PHP
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Android将Base64字符串发布到PHP,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6399字,纯文字阅读大概需要10分钟。
内容图文
![Android将Base64字符串发布到PHP](/upload/InfoBanner/zyjiaocheng/712/158e7f5549b54e8cacb02d3d7ed997bf.jpg)
——解决方案——
问题发生在我们的服务器上.如果我们将www放在我们的域名前面,它只能处理邮件请求.这就是导致问题的原因.我将第一个答案设置为答案,因为一旦我将URL排序,它就起作用了.
原始问题
我的PHP脚本中有一个POST变量,总是空白的.
我试图改变变量的名称,变量的内容等.
问题必须存在于java代码中,因为当我在php中使用var_dump()请求时,它是null.
这是我的情景:
我让用户拍照,照片保存到SD卡,我得到图像的路径,最终将其转换为Base64字符串.然后我想将这个base64字符串发布到一个php脚本,它将它从Base64转换回来并将其作为图像写在我服务器的硬盘上,如下所示:
File f = new File(savedImagePath);
Bitmap bitmap = BitmapFactory.decodeFile(f.getPath());
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 30, stream);
byte [] byte_arr = stream.toByteArray();
String image_str = Base64.encodeToString(byte_arr, Base64.DEFAULT);
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://myURL/uploadImage.php");
List<NameValuePair> pairs = new ArrayList<NameValuePair>();
pairs.add(new BasicNameValuePair("image", image_str));
post.setEntity(new UrlEncodedFormEntity(pairs));
HttpResponse response = client.execute(post);
在服务器端,这是我的PHP脚本的样子:
<?php
$base = $_POST["image"];
$binary=base64_decode($base);
header('Content-Type: bitmap; charset=utf-8');
$file = fopen('uploaded_image.jpg', 'w');
fwrite($file, $binary);
fclose($file);
echo "script done executing";
?>
这是我试图发布的Base64字符串的示例:
/ 9J / 4AAQSkZJRgABAQAAAQABAAD / 2wBDABsSFBcUERsXFhceHBsgKEIrKCUlKFE6PTBCYFVlZF9VXVtqeJmBanGQc1tdhbWGkJ6jq62rZ4C8ybqmx5moq6T / 2wBDARweHigjKE4rK06kbl1upKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKT / wAARCAogBsADASIAAhEBAxEB / 8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL / 8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4 Tl5ufo6erx8vP09fb3 PN6 / 8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL / 8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3 PN6 / 9oADAMBAAIRAxEAPwC4KUdaSlFWAdaO9HajrTEHegYpe1Jn1pDsA6UtJ FFAg7Gl60nWimAdxQBjNHWgelAhaM80n1z FKOlAw9qTHPal60H2oABSHmlxQOmKADrS0gooCwClNJ3FL3NACgUmeKKKAuKBkUnQ0vvSDuaLgB5FA6c9aO / NHegEL3oAya TmlFMAbkigUfrR9aA6AKMdKPrQKQC0h60o5oPWgA7UdqKM0bgFHajvRQAv4UnWlFJTAO9KKKO1ILh2o7UUUxXDvRQKXvRcYlFLSd lAAKXNJR15ouPQXrQKO / rSd6BXF70UUUAL9KQZNGaM0C3A9aKKKAEpaKKAExS0Y5peooGJ1paSj8KAAUtHekFArh3pf1pKUdaAsFH60daO1MLiUZpaB1pAAoopKAAUvSjFJQAUClpO9AxaSlooEJ2oxxS96TtQACig0UAHSjtigCkoBi5pOnFFJQAnak6cGlpp6 tDAaaiPU1Kajbmkh3IjUDjJqc9Tmom70hkbc5puO56UrUntSBiqOfap1 / OoAe2aljNSxMkxkClHPFIPu0tSMO1L9KPSjpQAdxQeaTpzijvigYUZpcUY / wD10XASkA74wfSndaKAQYo96O9LjtSDW4zH0 / OlC85p2ADSUXBsQj2xUZXg81L255pNv60wsRBOev4U8LTgvHvS4oAjxmm7cjFTEdKQLQA1RjoKcBwMnpSgUvagEFHU0DoaOtK4XQCgUY9KM5FMLgKKO / SjHNAC9qQDjmilFABQKOtHWkFhMU7tSDmj6UxWCilpM8DjNAwA4xS0dD6UlFw2FpMc0UAH60kFxfrQOM0d8YoHHvTEHWgClHpQKB3E70dqM0pH40AhAKAM0UtIAHWkzxS / SkpoEHvR70uKKADtQOlHaj GkAYo 8KKP0piEFLRQfagaAAbaKKO9AXFoPvSfrS5z0oAO1HajtR3oASjqKO3al7UC0AUDmkpaRQdPekA7mlxzRQJBnijvSe1L1FMQd6SlzgUdaBh2NA6e9GKAKAsHX3ozSd KXr9aSDbUKAPmo788igdfWgAo6nNGefWigApevvQPSimgAccUUgPNFAageKXvmk70UAL9KTrRR1PNAgB4oB49aOnagcigdwFIeBSgUh6UCZC3U9qgb1qZzxUMnHI59qphZohb7 fSk96ViNw4PNJ nB5qRtCduDRjB4oPqOn1pevSkFxMcc0HsuaCeaXIxyaOgkx3DOaEPPJx7U0cdaUD5qasPYvxf6sCpKjiOUzT / ei4hQOKUCkpRycUALnik6nijrSYzQPRh6etL16CkxzTu9ArDR02nk9TSijHzGihNBZ3I3XIqMP823FSv055NVzlpMjpjrQBeFFKvFFa6CT0E7Clxx60nQUo60AApe1J9eaDwOKAE70UvalHSgLCAc0vakFHagQClGKQfgaWmMKDSUvbrmgLifrSjGeeaTqPWgDCikHUX8KOgo7UnegBaB1xijrQKYri9Tig0lLQCYZ6GikpR dAB2o / SjvRQMXFFJilHSgAopM0v8AFQLUQUoHFAoHXNAXDvQBzRjNFAxe9JnmjNHegWgtJR3pe9Awo7UntS96AAUUd6KBB1pR dJ2pelABmjsMUlFAXFoHT1oHNFAMOwo70lKPzpgKKSjvR1oBhmjtSY59qUUAKKM0g / OigLi0lL9KTqaBBSikpe5oADRmkoFAxR dApO9L19qBhnmikpaBdQ6mgUdqBQK4e9FA 1A中lAxe / FIDz6UUZzQIKWkpRQMTv60oopM0AKaTrR2o70ALR1pKKAQelLSUUAFFLnNJQFwFIaWk96AuKOlFHakoAO1FHakpAJ2pp5p3WmE0BcaeKY1PPWmHpQBE3eomHNSt1qJuDmpKIj0pO9OJ / EU0jilcLijrxUkfOOaiHWpIzS3ETCnCmJ05p2eKllAOlL34o7YpOw70gQo5pO / PNO / EmkPWmAZB6UUYpaTEhtLRR FA0JTqTGKKBBQPQ80UUAB45o6ijtk0dhigYvagUYo70CD27Ud OlFFACAUp96PpzRQMKWkxxn9KO1AaC9qM8CkpaLCEpe1JijvQFwHWl70UGmHQBSjpSdsUZ5pXCwCl7Ug6ilpFCdaKBR1NUSL2o7Y60nfil79aBgD60dqT3paQB0pe9JQOnSgTFJooHSimAnNL9aOtFIdg / WkFKB3o9qOgaoKT60tHWgL3D9aO1FHegA68UdKMH1xRigQUGigdaAAfd70UvQetIOtAbBijvRiimAd6AKKPwpB1F7UncEUUD1oGGeaXtRjv1pKLiAUue9IKXHrTGgooo70gEFH40vpRTRO4UdqKB2oGHajPFFAoC / YO9J2xjNLR3pBcAeBijtQO9H4UDCl4zSd6KYrgKKO1L1HpSDqJS0lGOaOgMUDvSdKWk / WgV7hmgjig9aO1A7gvPHWigcc0devNGoB2FITyRS44xRQhkDjmq7DirEh5xioH 7VX0DoQnnikpW9qb FT1Fr1D LHWkB6j1p2QAPWk mKB2A8r0pRwD3NIDjAPWlH3iDRoGwDpQCdwxyKQdcdfenAfnRcC3bHKmrHeqtqe2MY7VaHTPNMkAcjj86AeaXpSYoRQoo7UDrRSYMKMe9LR6etGwgxSY5pfc0daYEUv3MnpTVX930 / KpGGVwaZsK0h7lilpB lA6VqSHTpzRR / Og8UxMO / NLSA55o6nrQMP1pfejFHWgA96B0pPalPXHFFhBRnik lLQOwZ5o6UdKM / jQAoo70maO1AhT1pMcUg5pc0D0F70daT3paBAKKM0UDYDrSj dJSigVw70d6QUtAw9zzRSZpc5 tMVwNL7UlH40gCgdaUcUlMApRRR2oAPeiijPFAIBQOtFFAbCikozRQADmlpBS0DAUUnfNL3oEFAo7YoxTAXvSdqO BzR9KAClHWkooBB0paM0UgFpBSdTQPrmgQtHWjPOaO9MBc0Ug60A0guFLRSUDQUUfSimAtJ3oo70gFzRSUZoAWkozR lMOgtFJR1oAXNHSkFFAC0dqQdKM0gFopB15oPWmAtA60maO1AIWj8KQUUBYX9aKQGigA9qKM0d6QCig0lFAgo60DpRQMO1ITRmk7UCEprdKcaQ0DGGoyKeaY3ftSAYSKhbpUp7d6jbmkxoiPFN7U5vu9aYeKQx38OR0pU9qb29q
解决方法:
这是图像的代码:
ByteArrayOutputStream bao = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 90, bao);
byte [] ba = bao.toByteArray();
String ba1=Base64.encodeBytes(ba);
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("image",ba1));
这是用于将图像发送到服务器的HTTP代码:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://servername.com/uploadimage.php");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
如果你发现任何困难,请问我或支票:
>这similar tutorial for image uploading
> Base64 example
在PHP头文件更改中:
header('Content-Type: image/jpg; charset=utf-8');
$base=$_REQUEST['image'];
内容总结
以上是互联网集市为您收集整理的Android将Base64字符串发布到PHP全部内容,希望文章能够帮你解决Android将Base64字符串发布到PHP所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。