當前位置:首頁 » 安卓系統 » android七牛

android七牛

發布時間: 2023-05-22 10:37:13

① 七牛雲上傳android apk文件

1.如何將android apk文件上傳到七牛雲?
1.1首先要設置mimeType文件格式。如圖片的:'image/png', 'image/jpeg', 'image/jpg', 'image/webp'。
1.2android apk文件的格式為:'application/vnd.android.package-archive'
2.如何拼接返回的url?
2.1" https://res1.bnq.com.cn/$ {res.key}" res.key是上傳成功後返回的.apk文件唯一標識。

② 七牛雲存儲Android端可以一次上傳多張圖片嗎

只能上傳一張照片,
如果要上傳多張的話,
可以把幾張照片拼起來做成一張照片再上傳

③ android客戶端怎樣用七牛上傳照片

相信很多開發者會把圖片存放到七牛上,我的web站點也是吧圖片存儲到七牛上,對於以圖片為主的站點,這樣可以節省很大帶寬。
將圖片上傳到七牛伺服器的重點就是獲得上傳憑證uploadToken,直接把AccessKey和Secret放到客戶端太不安全,容易被反編譯。所以需要在伺服器端根據AccessKey和Secret動態生成一個uploadToken,然後傳回到客戶端,客戶端通過這個uploadToken將圖片上傳到七牛伺服器。
第一、在伺服器端生成uploadToken

//將圖片上傳到七牛 start
$bucket='七牛空間名稱';
$expires = 3600;
$accessKey='去七牛查看';
$secretKey='去七牛查看';
$client = new QiniuClient($accessKey,$secretKey);
$flags = array();
$scope = $bucket;
$deadline = time() + $expires;
$flags['scope'] = $scope;
$flags['deadline'] = $deadline;
$flags['returnBody'] = null;
echo $client->uploadToken($flags);

這里注意一下bucket:七牛空間名稱和deadline:uploadToken失效時間,具體可查看一下官網上傳憑證介紹
uploadToken($flags)是自己封裝的用於生成上傳憑證的函數

public function uploadToken($flags) { if(!isset($flags['deadline'])) $flags['deadline'] = 3600 + time(); $encodedFlags = self::urlsafe_base64_encode(json_encode($flags)); $sign = hash_hmac('sha1', $encodedFlags, $this->secretKey, true); $encodedSign = self::urlsafe_base64_encode($sign); $token = $this->accessKey.':'.$encodedSign. ':' . $encodedFlags; return $token; }
public static function urlsafe_base64_encode($str){
$find = array("+","/");
$replace = array("-", "_");
return str_replace($find, $replace, base64_encode($str));
}

第二、下載qiniu-android-sdk-7.0.0.jar和android-async-http-1.4.6並導入項目
第三、android上傳圖片
由於Android4.0 以後不允許在主線程進行網路連接,所以需要新開個線程來獲取上傳憑證。

/*
* 上傳圖片到七牛
*/
private void uploadImg(){
new Thread(new Runnable(){
@Override
public void run() {
//獲得七牛上傳憑證uploadToken
String token=getUploadToken();
//手機SD卡圖片存放路徑
String imgPath="";
try {
imgPath=FileUtil.getBasePath()+ "/test.jpg";
} catch (IOException e) {
e.printStackTrace();
}
if(token!=null){
String data = imgPath;
//圖片名稱為當前日期+隨機數生成
String key = getRandomFileName();
UploadManager uploadManager = new UploadManager();
uploadManager.put(data, key, token,
new UpCompletionHandler() {
@Override
public void complete(String arg0, ResponseInfo info, JSONObject response) {
// TODO Auto-generated method stub
Log.i("qiniu", info.toString());
}
}, null);
}
else{
Log.i("fail", "上傳失敗");
}
}
}).start();
}

FileUtil.getBasePath()使用來獲取SD卡基本路徑,getRandomFileName()生成一個隨機數來命名上傳圖片,具體方法我在這就不寫了。

獲得上傳憑證的方法也很簡單,直接使用httpget和伺服器通信,獲得第一步中生成的數據即可。(注意10.0.2.2是模擬器提供的特殊IP,等同於在電腦端的環回測試IP127.0.0.1)

/*
* 獲得七牛上傳憑證uploadtoken
*/

private String getUploadToken()
{
HttpClient client = new DefaultHttpClient();
StringBuilder builder = new StringBuilder();

HttpGet myget = new HttpGet("http://10.0.0.2/test/getUploadToken.php");
try {
HttpResponse response = client.execute(myget);
BufferedReader reader = new BufferedReader(new InputStreamReader(
response.getEntity().getContent()));
for (String s = reader.readLine(); s != null; s = reader.readLine()) {
builder.append(s);
}
return builder.toString();
} catch (Exception e) {
Log.i("url response", "false");
e.printStackTrace();
return null;
}
}

通過LOG日誌可以看到Qiniu--success,說明上傳成功。

④ android客戶端怎樣用七牛上傳照片

路過,算是路過,沒打算回答的。

整個都讓別人寫,別說30分,就算300分,也沒興趣。

熱點內容
腳本掛到寶塔看視頻 發布:2025-09-17 15:33:36 瀏覽:281
簡單的文字加密 發布:2025-09-17 15:12:48 瀏覽:963
安卓哪個辦公軟體好用 發布:2025-09-17 14:56:36 瀏覽:186
packagephp 發布:2025-09-17 14:55:42 瀏覽:366
存儲伺服器廠家 發布:2025-09-17 14:53:00 瀏覽:833
編譯原理語法樹生成實驗 發布:2025-09-17 14:05:40 瀏覽:372
手機服務ftp 發布:2025-09-17 14:00:09 瀏覽:973
經期演算法 發布:2025-09-17 13:39:17 瀏覽:502
抖音的青少年模式裡面的密碼是什麼 發布:2025-09-17 13:39:15 瀏覽:265
腳本解析度不對 發布:2025-09-17 13:32:18 瀏覽:788