七牛上傳圖片
『壹』 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,說明上傳成功。
『貳』 七牛(c#)圖片上傳後怎麼在網頁顯示出來
你是私有空間還是共有空間?共有空間你選中圖片右邊就可以看到連接,私有空間你就得用SDK下載啊!
1,你要是小白你就直接在portal,空間設置》高級設置中把空間改為公有,,,
2,你要是用SDK,就參考文檔吧
『叄』 七牛雲存儲對接好網站後上傳不了圖片,但是能獲取存儲空間里的文件
首先我們先登錄阿里旺旺賬號,在阿里旺旺面板的下方有一個「淘」字樣,單擊該按鈕。
單擊「淘」按鈕,會下拉很多選項,在下拉的選項里,我們單擊圖片空間按鈕。
單擊圖片空間會跳到如圖所示頁面,這時我們單擊菜單欄里的「圖片上傳」按鈕。
單擊「圖片上傳」按鈕會出現如圖所示,這時我們點擊添加圖片按鈕。點擊之後會彈出第二個圖的對話框,這時我們選擇好要上傳的圖片,選擇好後單擊下方的「選好了」按鈕。
單擊之後會彈出如圖對話框,這時我們單擊下方的立即上傳按鈕,點擊之後就會彈出第二個圖片所示對話框。
在彈出的對話框里,我們單擊完成按鈕,頁面會跳到如圖所示,這時我們可以看到剛才的圖片已經在圖片空間里了。
『肆』 Wordpress如何上傳圖片到七牛
網頁鏈接利用這個wordpress插件,安裝好插件後,配置七牛相應參數就好了。
『伍』 thinkphp5 有自帶七牛上傳圖片的驅動嗎 有的話怎麼應用 !
七牛的上傳其實就很簡單
我舉例下七牛上傳配置
'qiniu'=>[
'maxSize'=>5*1024*1024,//文件大小
'rootPath'=>'./',
'saveName'=>['uniqid',''],
'driver'=>'Qiniu',
'driverConfig'=>[
'secretKey'=>'',
'accessKey'=>'',
'domain'=>'',
'bucket'=>'',
]
]
控制器處理
//實例化上傳類
$upload=newUpload(C('qiniu'));
$info=$upload->uploadOne($file);
$this->ajaxReturn($info);
這是上傳的處理
其實七牛的驅動裡面也是集成了很多
我們可以直接實例化七牛
$qiniu=newQiniuStorage(C('qiniu.driverConfig'));
看好實例化裡面的是七牛的配置文件 因為不是直接用的配置
然後就可以調用七牛的方法
$qiniu->SomeFunction();
更多問題可以去php中文網問答社區
『陸』 用php上傳圖片到七牛並返回url
我處理的過程是,圖片上傳到伺服器並進行尺寸和圖片質量壓縮,然後根據你制定的規則命個名字,初始化七牛給的那個上傳類,上傳文件,根據剛才命名和在七牛綁定的域名連接成URL並返回。代碼是寫到一個類里的,很多,不方便貼。
『柒』 七牛雲存儲 java 只要上傳圖片demo 謝謝大俠
你要的東西已經發出,請查收郵件,有可能在垃圾箱里,如果10分鍾後沒收到,請在本問題里追問,我會再次發送!
『捌』 用七牛實現最簡單的表單上傳圖片,如何獲取返回值
。研究了下API之後,現在已經能實現圖片的上傳和下載及上傳之後的重定向。
首先本篇文章實現的功能如下:
1.利用表單上傳功能,用戶可以點擊選擇文件按鈕,選擇本地的一個文件,同時設定上傳的圖片的名稱,點擊上傳按鈕可以上傳並存儲到七牛雲存儲。
2.在點擊上傳時會檢測文件的後綴名,限制為jpg和png格式存儲。
『玖』 七牛圖片前段web上傳,點擊按鈕沒反應,瀏覽器console沒任何報錯
打開Chrome的審查元素工具,然後切換到Network選項卡,然後看下具體的請求。