zoukankan      html  css  js  c++  java
  • Android 上传PHP xUtils Bug修复分析过程(非常好)

    参考博客网址:

    http://www.creturn.com/html/2014-01-15-android-%E4%B8%8A%E4%BC%A0php-xutils-bug%E4%BF%AE%E5%A4%8D%E5%88%86%E6%9E%90%E8%BF%87%E7%A8%8B.html

    作为全职PHPer偶尔需要客串下Androider,最近公司的一个项目需要Android的客户端(主要图片特效处理及其上传),自己就客串下Androider.

    之前有过Android开发经验所以做这个挺顺手的,几乎所有东西直接github中拿过来改改就用,不过在处理图片上传的时候选择了xUtils这个

    开源工具类,用起来确实比较好用,挺方便的,例如如下代码就可以实现上传:

    为了印证我们的才行可以把charset加上去和去掉的进行对比看看是不是加了之后就收不到上传文件的信息。

    其实根据HTTP协议来讲理论上加不加charset应该不会影响上传,但结果这个问题确实是由于charset引起的。

    接下来就简单了找到根源解决就行,在源码里面进行搜索 boundary ,找到地方根据作者写的方法注释掉其中添加charset的代码:

        protected String generateContentType(
                final String boundary,
                final Charset charset) {
            StringBuilder buffer = new StringBuilder();
            buffer.append("multipart/" + multipartSubtype + "; boundary=");
            buffer.append(boundary);
            /*if (charset != null) {
                buffer.append("; charset=");
                buffer.append(charset.name());
            }*/
            return buffer.toString();
        }

    我找到的上面对应代码路径在com.lidroid.xutils.http.client.multipart包下的 MultipartEntity.java里面

  • 相关阅读:
    linux系统scp和rsync同步命令介绍
    linux系统发现系统变慢
    linux系统centos6和centos7开机流程及定时任务语法
    elasticsearch for windows
    elasticsearch for linux
    Python操作elasticsearch
    elasticsearch之快速上手
    elasticsearch简介
    flask中使用celery
    GoJS
  • 原文地址:https://www.cnblogs.com/bxfx111/p/3605098.html
Copyright © 2011-2022 走看看