话说android端七牛图片上传

七牛图片上传业务流程如下图(这是官方的图):

由上图可知,要想实现图片上传,是要三端进行交互的(我刚刚开始以为只要七牛服务器跟客户端交互就行)

接下来步骤如下:

1、首先肯定是要有一个七牛的账号,并创建一个空间

2、客户端向业务服务器(也就是客户端的应用服务器)发请求你要上传多上张图片

3、业务服务器根据客户端的请求向七牛云存储生成token(应用的服务器下载好相应的七牛sdk然后根据接口文档所述向七牛服务器请求token,token相当于一把钥匙,具体代码我也不知道怎么实现,毕竟我不是写后台的,官方接口文档上有。)

4、客户端接收到业务服务器返回的token后就可以进行上传。(一般无论你请求上传多少张图片,服务器都会返回多个一模一样的token,也就是说token可以一直用的)

上传部分代码如下:

UploadManager uploadManager = new UploadManager();

uploadManager.put(path, key, qiniuToken, new UpCompletionHandler() {

@Override

public void complete(String key, ResponseInfo info,

JSONObject response) {

if (info.isOK()) {

ToastHelper.showNewToast(context, "图片上传成功");

}

}

其中path是指的是你本地文件的路径,key是指的是你上传到七牛服务器的文件名(你也可以在文件名那里拼出文件夹路径),qiniuToken指的就是业务服务器返回的token。

如果上传成功,就用"info.isOK()"判断就行。

注意:七牛sdk只支持的是单图上传,如果要实现多图上传,就要自己写。(我之前写的就是,每上传一张图就开一个线程,然后塞进队列里面。然后一个个start就行)

还有就是,七牛上的官方sdk导入进工程里面是不能依赖的,我试过很多次都不行。后来我找一位大牛要了一份可以下的,地址如下:http://download.csdn.net/download/u013560890/8563117

时间: 2024-10-09 22:02:51

话说android端七牛图片上传的相关文章

ASP.NET Core 简单实现七牛图片上传(FormData 和 Base64)

七牛图片上传 SDK(.NET 版本):https://developer.qiniu.com/kodo/sdk/1237/csharp UpoladService示例代码: public class UpoladService : IUpoladService {     private readonly static string[] _imageExtensions = new string[] { ".jpg", ".png", ".gif&quo

PKPJIB七牛文件上传管理

圭拉镗夯後 PKPJIB七牛文件上传管理

android自定义View实现图片上传进度显示(仿手机QQ上传效果)

首先看下我们想要实现的效果如下图(qq聊天中发送图片时的效果): 再看一下我实现的效果: 1.效果已经看见了,下面我们来实现它.首先我创建一个android工程ProgressImageView.然后我们重写ImageView控件,创建ProcessImageView类代码如下: package com.example.processimageview; import android.annotation.SuppressLint; import android.content.Context;

android自定义ImageView仿图片上传

Activity代码 1 public class MainActivity extends AppCompatActivity {   2     ProcessImageView processImageView =null;   3     int progress=0;   4    5     @Override   6     protected void onCreate(Bundle savedInstanceState) {   7         super.onCreate

移动端 js 实现图片上传 预览

方法一: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>测试页面</title> <script type="text/javascript"> /

移动端开发之图片上传与显示

1.上传,使用servlet以及ajax (1)需要引入的包: (2)配置web.xml (3)引入servlet的程序 servlet代码: package upload; import java.sql.*;import java.io.File;import java.io.IOException;import java.io.PrintWriter;import java.util.Date;import java.util.List; import javax.servlet.Serv

tp5.0整合七牛云图片上传

转:https://www.cnblogs.com/adobe-lin/p/7699638.html 这里以上传图片为例 上传其他文件也是大同小异 使用composer安装gmars/tp5-qiniu 安装成功则在vendor目录下多出一个目录 这个目录含有整合七牛云的所有类包等文件 控制器中添加upload方法 public function upload() { if(request()->isPost()) { $qiniu = new \gmars\qiniu\Qiniu('你的ak'

.NET Core项目----七牛云图片上传

在引用官方的qiniu.core的nuget是总是发生错误,错误如下,所以就在网上找到了一种解决方案,并稍微改进了一番, 以下是引用图: 第一步:引用nuget(是位大神写的,官方的qiniu.core用不了) 第二部:新建项目新建控制器视图.添加配置信息类和读取配置信息 配置信息类: public class QnySetting { public string qiniuyunAK { get; set; } public string qiniuyunSK { get; set; } pu

PHP异步上传文件到七牛(包含上传文件进度条)

<?php  require_once 'inc.php'; require_once 'vendor/autoload.php'; // 引入鉴权类 use Qiniu\Auth; // 引入上传类 use Qiniu\Storage\UploadManager; // 需要填写你的 Access Key 和 Secret Key $accessKey = ''; $secretKey = ''; // 构建鉴权对象 $auth = new Auth($accessKey, $secretKe