欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用pcs api往免費(fèi)的百度網(wǎng)盤(pán)上傳下載文件的方法

 更新時(shí)間:2016年03月17日 09:36:10   作者:mrhyher  
百度個(gè)人云盤(pán)空間大,完全免費(fèi),而且提供了pcs api供調(diào)用操作文件,在平時(shí)的項(xiàng)目里往里面保存一些文件是很實(shí)用的。通過(guò)本文給大家介紹使用pcs api往免費(fèi)的百度網(wǎng)盤(pán)上傳下載文件的方法,感興趣的朋友一起學(xué)習(xí)吧

百度個(gè)人云盤(pán)空間大,完全免費(fèi),而且提供了pcs api供調(diào)用操作文件,在平時(shí)的項(xiàng)目里往里面保存一些文件是很實(shí)用的。

環(huán)境準(zhǔn)備:

開(kāi)通讀寫(xiě)網(wǎng)盤(pán)的權(quán)限及獲取access_token:http://blog.csdn.net/langyuezhang/article/details/47206621

百度官方pcs api文檔:http://developer.baidu.com/wiki/index.php?title=docs/pcs/overview,上面有各種語(yǔ)言的SDK,我用的laravel5,直接導(dǎo)里面的php SDK還用不了,稍做了修改才能用的。

看完上面兩篇文章,基本就可以使用了,下面貼出寫(xiě)直接把用戶選擇的圖片預(yù)覽然后upload到網(wǎng)盤(pán),上傳的api:
https://pcs.baidu.com/rest/2.0/pcs/file?method=upload&path=%2fapps%2wp2pcs%2f1.JPG&access_token=***紅色部分是固定的,因?yàn)橹辉试S上傳到這個(gè)目錄下,實(shí)際對(duì)應(yīng)到網(wǎng)盤(pán)的目錄是我的網(wǎng)盤(pán)/我的應(yīng)用數(shù)據(jù)/wp2pcs、,無(wú)需先創(chuàng)建目錄再上傳文件,只需要指定路徑,它會(huì)自動(dòng)創(chuàng)建,如你想把圖片上傳到/apps/wp2pcs/img下,path就寫(xiě)/apps/wp2pcs/img/1.jpg就可以了。下面是把用戶在網(wǎng)頁(yè)上選擇的圖片,預(yù)覽后直接上傳到網(wǎng)盤(pán)的代碼,參照了網(wǎng)上的例子:預(yù)覽:

//圖片上傳預(yù)覽 IE是用了濾鏡。
function previewImage(file, product)
{
getPhotopty();
console.log("previewImage");
uploadAndSubmit(product);
var div = document.getElementById('preview' + product);
var fileName = file.value;
//upload();
if (file.files)
{
var i = 0;
var funAppendImage = function () {
var _file = file.files[i];
if (_file) {
var reader = new FileReader()
reader.onload = function (evt) {
fileName = _file.name;
div.innerHTML += '<div class="col-xs-6 col-md-3"><a style="float:right;cursor:pointer;" onclick="del(this)">X</a><div class="thumbnail"><img id=imghead' + product + fileName + '></div></div>';
var img = document.getElementById('imghead' + product + fileName);
img.src = evt.target.result;
i++;
funAppendImage();
}
reader.readAsDataURL(_file);
}
};
funAppendImage();
}
$('#coverBg').show();
$('#coverDiv').show();
//$("#uploadFrm" + product).submit();
}

上傳:

var access_token = "***********";
var baseUrl = "https://c.pcs.baidu.com/rest/2.0/pcs/";
function uploadAndSubmit(product) {
console.log("start uploadAndSubmit");
if (typeof FileReader == 'undefined') {
alert("你的瀏覽器不支持FileReader接口!");
}
var taskName = $("#txtTask").val() + "-" + $("#txtTask2").val();
var form = document.forms["uploadFrm" + product];
console.log("form:" + form);
var fileCtrl = "filectrl" + product;
console.log("filectrl:" + fileCtrl);
//if (form[fileCtrl].files.length > 0)
console.log($("#filectrl" + product)[0]);
if ($("#filectrl" + product)[0].files.length > 0)
{
for (var i = 0; i < $("#filectrl" + product)[0].files.length; i++)
{
var file = form[fileCtrl].files[i];
console.log(file.name);
var filePath = "%2fapps%2fwp2pcs%2f" + taskName + "%2f" + file.name;
console.log("add exif info to db");
getExifIinfo(taskName, file, product, filePath);
//document.getElementById("bytesRead").textContent = file.size;
console.log("start XMLHttpRequest");
var xhr = new XMLHttpRequest();
console.log(access_token);
var url = baseUrl + "file?method=upload&path=%2fapps%2fwp2pcs%2f" + taskName + "%2f" + file.name + "&access_token=" + access_token + "&ondup=overwrite&count=" + i;
console.log(url);
xhr.open("POST", url, true);
var formData = new FormData();
formData.append("file", file);
console.log("onreadystatechange");
xhr.onreadystatechange = function () {
console.log("onreadystatechange start");
//console.log(xhr.status);
if (xhr.readyState == 4) {
if (xhr.status == 200) {
console.log("upload complete");
console.log("response: " + xhr.responseText);
var result = $.parseJSON(xhr.responseText);
if (result.hasOwnProperty("path"))
{
$("#reusltMsg").append('<div class="alert alert-success" role="alert"> 上傳成功.</div>');
} else
{
$("#reusltMsg").append('<div class="alert alert-danger" role="alert"> 上傳失敗.</div>');
}
} else
{
$("#reusltMsg").append('<div class="alert alert-danger" role="alert"> 上傳失敗(200).</div>');
}
}
$('#coverBg').hide();
$('#coverDiv').hide();
}
xhr.send(formData);
}
} else
{
alert("Please choose a file.");
$('#coverBg').hide();
$('#coverDiv').hide();
}
}

相關(guān)文章

  • JS將時(shí)間秒轉(zhuǎn)換成天小時(shí)分鐘秒的字符串

    JS將時(shí)間秒轉(zhuǎn)換成天小時(shí)分鐘秒的字符串

    最近小編接到這樣的項(xiàng)目需求,接口返回的數(shù)據(jù)中時(shí)間單位為秒,但前端顯示的時(shí)候需要更人性化的帶有單位(天,小時(shí),分鐘,秒)的字符串;下面小編給大家?guī)?lái)實(shí)例代碼,感興趣的朋友跟隨小編一起看看吧
    2019-07-07
  • JS繼承用法實(shí)例分析

    JS繼承用法實(shí)例分析

    這篇文章主要介紹了JS繼承用法,實(shí)例分析了拷貝繼承、類繼承及原型繼承等的使用技巧,需要的朋友可以參考下
    2015-02-02
  • Bootstrap下拉菜單樣式

    Bootstrap下拉菜單樣式

    這篇文章主要為大家詳細(xì)介紹了Bootstrap下拉菜單樣式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • JavaScript面向?qū)ο蟪绦蛟O(shè)計(jì)教程

    JavaScript面向?qū)ο蟪绦蛟O(shè)計(jì)教程

    這篇文章主要介紹了JavaScript面向?qū)ο蟪绦蛟O(shè)計(jì)教程的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • 超級(jí)詳細(xì)的webpack?Plugin講解

    超級(jí)詳細(xì)的webpack?Plugin講解

    plugin是插件的意思,通常是用于對(duì)某個(gè)現(xiàn)有的架構(gòu)進(jìn)行擴(kuò)展,下面這篇文章主要給大家介紹了關(guān)于webpack?Plugin的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • 一個(gè)支持ff的modaldialog的js代碼

    一個(gè)支持ff的modaldialog的js代碼

    一個(gè)支持ff的modaldialog的js代碼...
    2007-03-03
  • javascript添加前置0(補(bǔ)零)的幾種方法

    javascript添加前置0(補(bǔ)零)的幾種方法

    很多時(shí)候?yàn)榱孙@示格式,需要在某一字符串不滿位的情況下進(jìn)行前補(bǔ)0操作。下面這篇文章就給大家主要介紹了javascript添加前置0(補(bǔ)零)的幾種方法,文中給出了詳細(xì)的示例代碼,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-01-01
  • uniapp自定義網(wǎng)絡(luò)檢測(cè)組件項(xiàng)目實(shí)戰(zhàn)總結(jié)分析

    uniapp自定義網(wǎng)絡(luò)檢測(cè)組件項(xiàng)目實(shí)戰(zhàn)總結(jié)分析

    這篇文章主要為大家介紹了uniapp自定義網(wǎng)絡(luò)檢測(cè)組件項(xiàng)目實(shí)戰(zhàn)總結(jié)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • 基于require.js的使用(實(shí)例講解)

    基于require.js的使用(實(shí)例講解)

    下面小編就為大家?guī)?lái)一篇基于require.js的使用(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • js 多層疊的TAB選項(xiàng)卡

    js 多層疊的TAB選項(xiàng)卡

    一個(gè)多層疊的TAB選項(xiàng)卡,自適應(yīng)寬度(自行更改nonstop的width測(cè)試效果)。
    2010-01-01

最新評(píng)論