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里面

  • 相关阅读:
    (转载)delphi文件流
    一个不敢妄称自己是程序员的半拉子编码员的随想
    Xamarin.iOS使用极光JPush进行推送
    Xamarin.IOS问题记录——项目属性里IOS Bundle Signing 配置文件选项没有对应的配置文件选择
    Xamarin问题记录
    Unity3D笔记
    C#Xml To Class生成器
    WPF Mahapps.Metro 设置主题样式
    WPF画N角芒星,正N角星
    WPFPath素材
  • 原文地址:https://www.cnblogs.com/bxfx111/p/3605098.html
Copyright © 2011-2022 走看看