Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package com.qiniu.android.storage;
 
 import  android.util.Log;
 
 import java.util.Map;

定义数据或文件上传时的可选项
public final class UploadOptions {

    
扩展参数,以x:开头的用户自定义参数
    final Map<StringStringparams;

    
指定上传文件的MimeType
    final String mimeType;

    
启用上传内容crc32校验
    final boolean checkCrc;

    
上传内容进度处理
    final UpProgressHandler progressHandler;

    
取消上传信号
    public UploadOptions(Map<StringStringparamsString mimeTypeboolean checkCrc,
                         UpProgressHandler progressHandlerUpCancellationSignal cancellationSignal) {
        this. = filterParam(params);
        this. = mime(mimeType);
        this. = checkCrc;
        this. = progressHandler != null ? progressHandler : new UpProgressHandler() {
            @Override
            public void progress(String keydouble percent) {
                Log.d("qiniu up progress""" + percent);
            }
        };
        this. = cancellationSignal != null ? cancellationSignal : new UpCancellationSignal() {
            @Override
            public boolean isCancelled() {
                return false;
            }
        };
    }

    
过滤用户自定义参数,只有参数名以x:开头的参数才会被使用

Parameters:
params 待过滤的用户自定义参数
Returns:
过滤后的用户自定义参数
    private static Map<StringStringfilterParam(Map<StringStringparams) {
        Map<StringStringret = new HashMap<StringString>();
        if (params == null) {
            return ret;
        }
        for (Map.Entry<StringStringi : params.entrySet()) {
            if (i.getKey().startsWith("x:") && i.getValue() != null && !i.getValue().equals("")) {
                ret.put(i.getKey(), i.getValue());
            }
        }
        return ret;
    }
    static UploadOptions defaultOptions() {
        return new UploadOptions(nullnullfalsenullnull);
    }
    private static String mime(String mimeType) {
        if (mimeType == null || mimeType.equals("")) {
            return "application/octet-stream";
        }
        return mimeType;
    }
New to GrepCode? Check out our FAQ X