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

                 }

             }




       



    推荐阅读
    • Spring Boot 中配置全局文件上传路径并实现文件上传功能
      本文介绍如何在 Spring Boot 项目中配置全局文件上传路径,并通过读取配置项实现文件上传功能。通过这种方式,可以更好地管理和维护文件路径。 ... [详细]
    • 在现代Web开发中,HTML5 Canvas常用于图像处理和绘图任务。本文将详细介绍如何将Canvas中的图像导出并上传至服务器,适用于拼图、图片编辑等场景。 ... [详细]
    • HTML:  将文件拖拽到此区域 ... [详细]
    • 探索百度WebFE团队打造的强大HTML5上传插件Web Uploader
      本文将详细介绍由百度WebFE团队开发的Web Uploader,这是一款集成了HTML5与Flash技术的上传组件,以其卓越的用户体验和强大的功能著称。 ... [详细]
    • Python Requests模块中的身份验证机制
      随着Web服务的发展,身份验证成为了确保数据安全的重要环节。本文将详细介绍如何利用Python的Requests库实现不同类型的HTTP身份验证,包括基本身份验证、摘要式身份验证以及OAuth 1认证等。 ... [详细]
    • 我自己做了一个网站图片的抓取,感觉速度有点慢抓取4000张图片可能得用15分钟左右的时间,我百度看用线程可以加快抓取,然后创建了5个线程抓取,但是5个线程是同步执行同样的操作一个图片就 ... [详细]
    • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
    • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
    • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
    • DVWA学习笔记系列:深入理解CSRF攻击机制
      DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
    • 本文探讨了如何利用RxJS库在AngularJS应用中实现对用户单击和拖动操作的精确区分,特别是在调整区域大小的场景下。 ... [详细]
    • Fiddler 安装与配置指南
      本文详细介绍了Fiddler的安装步骤及配置方法,旨在帮助用户顺利抓取用户Token。文章还涵盖了一些常见问题的解决方案,以确保安装过程顺利。 ... [详细]
    • 一、Tomcat安装后本身提供了一个server,端口配置默认是8080,对应目录为:..\Tomcat8.0\webapps二、Tomcat8.0配置多个端口,其实也就是给T ... [详细]
    • 2022年2月 微信小程序 app.json 配置详解:启用调试模式
      本文将详细介绍如何在微信小程序的 app.json 文件中启用调试模式(debug),并通过实际案例展示其配置方法和应用场景。 ... [详细]
    • 开发日志:高效图片压缩与上传技术解析 ... [详细]
    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社区 版权所有