當前位置:首頁 » 文件傳輸 » 七牛上傳圖片
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

七牛上傳圖片

發布時間: 2022-04-08 00:35:40

Ⅰ 用七牛實現最簡單的表單上傳圖片,如何獲取返回值

。研究了下API之後,現在已經能實現圖片的上傳和下載及上傳之後的重定向。

首先本篇文章實現的功能如下:
1.利用表單上傳功能,用戶可以點擊選擇文件按鈕,選擇本地的一個文件,同時設定上傳的圖片的名稱,點擊上傳按鈕可以上傳並存儲到七牛雲存儲。
2.在點擊上傳時會檢測文件的後綴名,限制為jpg和png格式存儲。

Ⅱ 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,說明上傳成功。

Ⅲ php裡面使用Yii2框架用七牛上傳圖片怎麼上傳不上去

你的第二、三參數傳的對嗎?
我用的類方法參數是:PutFile($upToken, $key, $localFile, $putExtra),請按照方法里的參數順序重新審一下。
希望能幫助到你。

Ⅳ 上傳圖片時提示我調整好七牛參數,什麼是七牛參數。

七牛是一個免費空間。如果你用的就是七牛,看看說明;如果你用的不是七牛,那就是你所使用的軟體使用了七牛,然後他沒設置好參數,報錯了。。

Ⅳ 七牛圖片前段web上傳,點擊按鈕沒反應,瀏覽器console沒任何報錯

打開Chrome的審查元素工具,然後切換到Network選項卡,然後看下具體的請求。

Ⅵ 用php上傳圖片到七牛並返回url

我處理的過程是,圖片上傳到伺服器並進行尺寸和圖片質量壓縮,然後根據你制定的規則命個名字,初始化七牛給的那個上傳類,上傳文件,根據剛才命名和在七牛綁定的域名連接成URL並返回。代碼是寫到一個類里的,很多,不方便貼。

Ⅶ 七牛(c#)圖片上傳後怎麼在網頁顯示出來

你是私有空間還是共有空間?共有空間你選中圖片右邊就可以看到連接,私有空間你就得用SDK下載啊!
1,你要是小白你就直接在portal,空間設置》高級設置中把空間改為公有,,,
2,你要是用SDK,就參考文檔吧

Ⅷ Wordpress如何上傳圖片到七牛

網頁鏈接利用這個wordpress插件,安裝好插件後,配置七牛相應參數就好了。

Ⅸ 七牛雲存儲對接好網站後上傳不了圖片,但是能獲取存儲空間里的文件

首先我們先登錄阿里旺旺賬號,在阿里旺旺面板的下方有一個「淘」字樣,單擊該按鈕。
單擊「淘」按鈕,會下拉很多選項,在下拉的選項里,我們單擊圖片空間按鈕。
單擊圖片空間會跳到如圖所示頁面,這時我們單擊菜單欄里的「圖片上傳」按鈕。
單擊「圖片上傳」按鈕會出現如圖所示,這時我們點擊添加圖片按鈕。點擊之後會彈出第二個圖的對話框,這時我們選擇好要上傳的圖片,選擇好後單擊下方的「選好了」按鈕。
單擊之後會彈出如圖對話框,這時我們單擊下方的立即上傳按鈕,點擊之後就會彈出第二個圖片所示對話框。
在彈出的對話框里,我們單擊完成按鈕,頁面會跳到如圖所示,這時我們可以看到剛才的圖片已經在圖片空間里了。