Android将图像保存到PHP服务器

马特

基本上,我试图将用户选择的图像发布到我的服务器上并保存在该服务器上。

PHP文件:

<?php
    require_once __DIR__ . '/includes/functions.php';
    require_once __DIR__ . '/includes/config.php';

    $image = $_POST["avatar"];
    $user_id = $_POST["user_id"];

    $files = glob('avatars/*.jpg');
    $name = count($files) + 1;

    $decodedImage = base64_decode($image);
    file_put_contents("avatars/" . $name . ".jpg", $decodedImage);
?>

安卓

private class UploadFileToServer extends AsyncTask<Bitmap, Void, Void> {
    @Override
    protected Void doInBackground(Bitmap... params) {
        Bitmap bitmap = params[0];
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
        byte[] byteArray = byteArrayOutputStream .toByteArray();

        String base64avatar = Base64.encodeToString(byteArray, Base64.DEFAULT);
        String dataString = "user_id=" + userID + "&avatar=" + base64avatar;

        try {
            URL url = new URL(URL_OMITTED);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("POST");
            conn.setDoOutput(true);

            DataOutputStream os = new DataOutputStream(conn.getOutputStream());
            os.writeBytes(dataString);
            os.flush();
            os.close();

            Log.d("Response code",conn.getResponseCode() + "");

            conn.disconnect();

        } catch(IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}

在服务器上创建了一个文件,但是它不可读。当我足够奇怪地将compressformat设置为PNG时,会创建一个可读文件,但是该文件损坏了,因此大多是黑色的,而不是上载的图像。

马特

原来base64不是URL_SAFE。通过更改Base64.Default to Base64.URL_SAFE和添加

$image = str_replace(array('-', '_'), array('+', '/'), $image);

到php文件以解码URL_SAFE字符串。

我敢肯定这可能不是做到这一点的方法,但它确实有效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将图像保存到服务器

来自分类Dev

流星将图像数据保存到服务器集合

来自分类Dev

将画布图像保存到服务器

来自分类Dev

将图像保存到远程服务器

来自分类Dev

将画布中上传的图像保存到服务器

来自分类Dev

将图像上传到服务器并将URL保存到服务器

来自分类Dev

将cakeresponse保存到服务器

来自分类Dev

不使用express.js将图像保存到Node.js服务器

来自分类Dev

使用GridFS将视频/图像保存到NodeJS服务器中的MongoDB中

来自分类Dev

将画布图像保存到IIS服务器(MVC框架)

来自分类Dev

如何将图像从网站保存到另一台服务器

来自分类Dev

从在线打开图像,保存到服务器烧瓶

来自分类Dev

在ImageView中旋转图像并保存到服务器

来自分类Dev

解码从Android发布的base64图像数据以将图像保存在php服务器上

来自分类Dev

解码从Android发布的base64图像数据以将图像保存在php服务器上

来自分类Dev

将图像从android上传到PHP服务器

来自分类Dev

将图像从android上传到PHP服务器

来自分类Dev

将textarea的内容保存到文件并从PHP服务器页面加载

来自分类Dev

如何使用PHP从FTP服务器将新节点保存到加载的XML中

来自分类Dev

使用PHP将画布保存到服务器上的文件

来自分类Dev

将textarea的内容保存到文件并从PHP服务器页面加载

来自分类Dev

将base64图片上传到php服务器并保存到MySql

来自分类Dev

C#MVC网站-将画布保存到服务器上的图像文件-图像被裁剪

来自分类Dev

OpenLayers:将添加的点保存到地理服务器

来自分类Dev

从POST请求将文件保存到Web服务器

来自分类Dev

KnpSnappyBundle将文件保存到服务器

来自分类Dev

将文件保存到流星服务器节点js

来自分类Dev

将Blob文件保存到服务器

来自分类Dev

将映像从远程服务器保存到磁盘

Related 相关文章

  1. 1

    将图像保存到服务器

  2. 2

    流星将图像数据保存到服务器集合

  3. 3

    将画布图像保存到服务器

  4. 4

    将图像保存到远程服务器

  5. 5

    将画布中上传的图像保存到服务器

  6. 6

    将图像上传到服务器并将URL保存到服务器

  7. 7

    将cakeresponse保存到服务器

  8. 8

    不使用express.js将图像保存到Node.js服务器

  9. 9

    使用GridFS将视频/图像保存到NodeJS服务器中的MongoDB中

  10. 10

    将画布图像保存到IIS服务器(MVC框架)

  11. 11

    如何将图像从网站保存到另一台服务器

  12. 12

    从在线打开图像,保存到服务器烧瓶

  13. 13

    在ImageView中旋转图像并保存到服务器

  14. 14

    解码从Android发布的base64图像数据以将图像保存在php服务器上

  15. 15

    解码从Android发布的base64图像数据以将图像保存在php服务器上

  16. 16

    将图像从android上传到PHP服务器

  17. 17

    将图像从android上传到PHP服务器

  18. 18

    将textarea的内容保存到文件并从PHP服务器页面加载

  19. 19

    如何使用PHP从FTP服务器将新节点保存到加载的XML中

  20. 20

    使用PHP将画布保存到服务器上的文件

  21. 21

    将textarea的内容保存到文件并从PHP服务器页面加载

  22. 22

    将base64图片上传到php服务器并保存到MySql

  23. 23

    C#MVC网站-将画布保存到服务器上的图像文件-图像被裁剪

  24. 24

    OpenLayers:将添加的点保存到地理服务器

  25. 25

    从POST请求将文件保存到Web服务器

  26. 26

    KnpSnappyBundle将文件保存到服务器

  27. 27

    将文件保存到流星服务器节点js

  28. 28

    将Blob文件保存到服务器

  29. 29

    将映像从远程服务器保存到磁盘

热门标签

归档