oss上传图片(依赖)

oss上传图片(依赖)

Android小彩虹2021-07-17 7:21:00180A+A-
添加依赖
compile 'com.aliyun.dpa:oss-android-sdk:+'
compile 'com.squareup.okhttp3:okhttp:3.4.1'
compile 'com.squareup.okio:okio:1.9.0'
添加混淆
-keep class com.alibaba.sdk.android.oss.** { *; }
-dontwarn okio.**
-dontwarn org.apache.commons.codec.binary.**
加权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
Android 代码
private void initUpload() {
    String ACCESS_ID = "!!!!(这是你用户的ID)";
    String ACCESS_KEY = "!!!!(这是你用户的密钥)";
    OSSLog.enableLog();
    String endpoint = "http://oss-cn-beijing.aliyuncs.com";
// 推荐使用OSSAuthCredentialsProvider。token过期可以及时更新。
    OSSCredentialProvider credentialProvider = new OSSStsTokenCredentialProvider(ACCESS_ID, ACCESS_KEY, "");
// 配置类如果不设置,会有默认配置。
    ClientConfiguration conf = new ClientConfiguration();
    conf.setConnectionTimeout(15 * 1000); // 连接超时,默认15秒。
    conf.setSocketTimeout(15 * 1000); // socket超时,默认15秒。
    conf.setMaxConcurrentRequest(5); // 最大并发请求数,默认5个。
    conf.setMaxErrorRetry(2); // 失败后最大重试次数,默认2次。
    OSS oss = new OSSClient(getApplicationContext(), endpoint, credentialProvider);
    Log.e("AAA", "initUpload: " +!!!!(这是你图片的路径)这是我的路径(image_path));
// 构造上传请求。
    PutObjectRequest put = new PutObjectRequest("!!!!(这是你Bucket的名称)", "!!!!(这是你图片的名字需要加后缀哦如.jpg)",!!!!(这是你图片的路径)这是我的路径(image_path));

// 异步上传时可以设置进度回调。
    put.setProgressCallback(new OSSProgressCallback<PutObjectRequest>() {
        @Override
        public void onProgress(PutObjectRequest request, long currentSize, long totalSize) {
            Log.d("PutObject", "currentSize: " + currentSize + " totalSize: " + totalSize);
        }
    });

    OSSAsyncTask task = oss.asyncPutObject(put, new OSSCompletedCallback<PutObjectRequest, PutObjectResult>() {
        @Override
        public void onSuccess(PutObjectRequest request, PutObjectResult result) {
            Log.e("AAA", "UploadSuccess");
            Log.e("AAA", result.getETag());
            Log.e("AAA", result.getRequestId());
        }

        @Override
        public void onFailure(PutObjectRequest request, ClientException clientExcepion, ServiceException serviceException) {
            // 请求异常。
            if (clientExcepion != null) {
                // 本地异常,如网络异常等。
                clientExcepion.printStackTrace();
            }
            if (serviceException != null) {
                // 服务异常。
                Log.e("ErrorCode", serviceException.getErrorCode());
                Log.e("RequestId", serviceException.getRequestId());
                Log.e("HostId", serviceException.getHostId());
                Log.e("RawMessage", serviceException.getRawMessage());
            }
        }
    });

// task.cancel(); // 可以取消任务。
    task.waitUntilFinished(); // 等待任务完成。
}
获取用户ID和用户密钥位置

鼠标放到右上角头像上-AccessKey 管理-继续使用-创建-获取验证码-得到用户ID和密钥

以下图解

图片.png 图片.png 图片.png 图片.png 这里获取完验证码,填写完,点击确定,就可以获取了,我就不在创建了

获取Bucket的名称和图片路径

注意一下下边这个网址需要登录!!!!!

注意一下下边这个网址需要登录!!!!!

注意一下下边这个网址需要登录!!!!!

进入下边这个网址点击右上角左边一点的控制台-阿里云左边的三条杠-对象存储oss - oss新手入门下边的创建Bucket-会弹出一个侧滑框和是否开通的界面-点击开通-划到上边填写Bucket 名称-点击两次确定创建完成-点击以后再说-阿里云左边的三条杠-对象存储oss-oss新手入门下边的查看Bucket列表-得到Bucket名称

help.aliyun.com/knowledge_d…

以下图解:

图片.png

图片.png

图片.png

图片.png

图片.png

图片.png

图片.png

图片.png 这样就得到Bucket名称了

图片地址我是获取的相册里的地址:以下简书是获取的相册地址(不是我写的)

www.jianshu.com/p/469ab03e6…

点击这里复制本文地址 以上内容由权冠洲的博客整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

支持Ctrl+Enter提交

联系我们| 本站介绍| 留言建议 | 交换友链 | 域名展示
本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除

权冠洲的博客 © All Rights Reserved.  Copyright quanguanzhou.top All Rights Reserved
苏公网安备 32030302000848号   苏ICP备20033101号-1

联系我们