热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

七牛上传图片成功之后,图片裂了

图像因存在错误而无法显示

图像因存在错误而无法显示

1
        /*



    • 上传文件


    • @param file
      */



    1. void doUpload(byte[] b,String uptoken) {



      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
                 String expectKey = UUID.randomUUID().toString();

                 String eKey=expectKey.replaceAll("-","");

                 uploadManager.put(b, eKey, uptoken, new UpCompletionHandler() {

                     public void complete(String k, ResponseInfo rinfo, JSONObject response) {

                         String s = k + ", "+ rinfo + ", " + response;

                         String key = getKey(k, response);

                       

                         Log.e(TAG, s + "\n" + "http://" + bucketName + "qiniudn.com/" + key);

                         if (rinfo.isOK()) { // 上传成功

                             Toast.makeText(BusinessAuthenticationActvity.this, "上传成功", 0).show();

                             

                     

                         } else { // 上传失败

                             Toast.makeText(BusinessAuthenticationActvity.this, "上传失败", 0).show();



                         }

                     }

                 }, new UploadOptions(null, "image/jpg", true, null, null));

             }



    2. String getKey(String k, JSONObject response){

      1
      2
      3
      4
      5
      6
                 if(k != null){

                     return k;

                 }else{

                     return response.optString("key", "<获取key失败>");

                 }

             }



    3. void LoadToken(){



      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
                 if(NetWorkUtils.isConnected(this)){

                 HttpClientUtil util = new HttpClientUtil(new OnGetResponseData() {



                     @Override

                     public void OnGetData(String result) {

                         Gson gson = new Gson();

                         

                           QiNiuToken qn = gson.fromJson(result,QiNiuToken.class);

                           if(qn.isFlag()){

                               String  uptoken =  qn.getData().getQnTokeStr();

                               try {

                                 String str = uptoken.split(":")[2];

                                 String jsOnStr= new String(Base64.decode(str, Base64.URL_SAFE | Base64.NO_WRAP), "utf-8");

                                 JSONObject json = new JSONObject(jsonStr);

                                 String scope = json.optString("scope");

                                 bucketName = scope.split(":")[0];

                                 Log.e("Scope", bucketName);

                             } catch (Exception e) {

                                 bucketName = "";

                                 e.printStackTrace();

                             }

                             uploadManager = new UploadManager();

                             Log.e(TAG, result);

                               doUpload(byteIcon,uptoken);

                           }

                     }

                 });



                 try {

                     String url =  RequestUrlPaths.QnToke;



                     Map map = new HashMap();

                       map.put("", "");

                     util.postRequest(url, map);



                 } catch (Exception e) {

                 }

                 }else{

                     Toast.makeText(this,"请检查网络",0).show();

                 }

             }




       



    推荐阅读
    • 深入解析TCP/IP五层协议
      本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ... [详细]
    • 本文介绍如何使用 Angular 6 的 HttpClient 模块来获取 HTTP 响应头,包括代码示例和常见问题的解决方案。 ... [详细]
    • 本文介绍了如何使用JavaScript的Fetch API与Express服务器进行交互,涵盖了GET、POST、PUT和DELETE请求的实现,并展示了如何处理JSON响应。 ... [详细]
    • Android LED 数字字体的应用与实现
      本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
    • 如何高效创建和使用字体图标
      在Web和移动开发中,为什么选择字体图标?主要原因是其卓越的性能,可以显著减少HTTP请求并优化页面加载速度。本文详细介绍了从设计到应用的字体图标制作流程,并提供了专业建议。 ... [详细]
    • 从 .NET 转 Java 的自学之路:IO 流基础篇
      本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
    • 基于KVM的SRIOV直通配置及性能测试
      SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
    • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
      本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
    • 开发笔记:2020 BJDCTF Re encode
      开发笔记:2020 BJDCTF Re encode ... [详细]
    • 本文深入探讨了HTTP请求和响应对象的使用,详细介绍了如何通过响应对象向客户端发送数据、处理中文乱码问题以及常见的HTTP状态码。此外,还涵盖了文件下载、请求重定向、请求转发等高级功能。 ... [详细]
    • 本文探讨了在 OpenStack 环境中使用虚拟机部署 Ceph 集群后,外部服务器通过浮动 IP 无法访问该集群的问题,并提供了详细的解决方案。 ... [详细]
    • 深入解析Redis内存对象模型
      本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
    • 解决FCKeditor应用主题后上传问题及优化配置
      本文介绍了在Freetextbox收费后选择FCKeditor作为替代方案时遇到的上传问题及其解决方案。通过调整配置文件和调试工具,最终解决了上传失败的问题,并对相关配置进行了优化。 ... [详细]
    • 采用IKE方式建立IPsec安全隧道
      一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
    • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
    author-avatar
    cecillalurw_689
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有