热门标签 | 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();

                 }

             }




       



    推荐阅读
    • 本文探讨了浏览器的同源策略限制及其对 AJAX 请求的影响,并详细介绍了如何在 Spring Boot 应用中优雅地处理跨域请求,特别是当请求包含自定义 Headers 时的解决方案。 ... [详细]
    • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
    • 2018-2019学年第六周《Java数据结构与算法》学习总结
      本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
    • 本文介绍了如何使用JavaScript的Fetch API与Express服务器进行交互,涵盖了GET、POST、PUT和DELETE请求的实现,并展示了如何处理JSON响应。 ... [详细]
    • 深入解析Java虚拟机(JVM)架构与原理
      本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
    • 为了解决不同服务器间共享图片的需求,我们最初考虑建立一个FTP图片服务器。然而,考虑到项目是一个简单的CMS系统,为了简化流程,团队决定探索七牛云存储的解决方案。本文将详细介绍使用七牛云存储的过程和心得。 ... [详细]
    • 本文介绍如何从字符串中移除大写、小写、特殊、数字和非数字字符,并提供了多种编程语言的实现示例。 ... [详细]
    • 在PHP后端开发中遇到一个难题:通过第三方类文件发送短信功能返回的JSON字符串无法解析。本文将探讨可能的原因并提供解决方案。 ... [详细]
    • Python + Pytest 接口自动化测试中 Token 关联登录的实现方法
      本文将深入探讨 Python 和 Pytest 在接口自动化测试中如何实现 Token 关联登录,内容详尽、逻辑清晰,旨在帮助读者掌握这一关键技能。 ... [详细]
    • 本文详细介绍了如何在Android 4.4及以上版本中配置WebView以实现内容的自动高度调整和屏幕适配,确保中文显示正常,并提供代码示例。 ... [详细]
    • Django Token 认证详解与 HTTP 401、403 状态码的区别
      本文详细介绍了如何在 Django 中配置和使用 Token 认证,并解释了 HTTP 401 和 HTTP 403 状态码的区别。通过具体的代码示例,帮助开发者理解认证机制及权限控制。 ... [详细]
    • Spring Cloud Config 使用 Vault 作为配置存储
      本文探讨了如何在Spring Cloud Config中集成HashiCorp Vault作为配置存储解决方案,基于Spring Cloud Hoxton.RELEASE及Spring Boot 2.2.1.RELEASE版本。文章还提供了详细的配置示例和实践建议。 ... [详细]
    • 深入解析Android中的SQLite数据库使用
      本文详细介绍了如何在Android应用中使用SQLite数据库进行数据存储。通过自定义类继承SQLiteOpenHelper,实现数据库的创建与版本管理,并提供了具体的学生信息管理示例代码。 ... [详细]
    • 在Python编程学习过程中,许多初学者常遇到各种功能实现难题。虽然这些问题往往并不复杂,但找到高效解决方案却能显著提升编程效率。本文将介绍一个名为‘30-seconds-of-python’的优质资源,帮助大家快速掌握实用的Python技巧。 ... [详细]
    • Canvas漫游:碰撞检测与动画模拟
      探索Canvas在Web开发中的应用,通过碰撞检测与动画模拟提升交互体验。 ... [详细]
    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社区 版权所有