java 百度网盘上传_使用pcs api往免费的百度网盘上传下载文件的方法

百度个人云盘空间大,完全免费,而且提供了pcs api供调用操作文件,在平时的项目里往里面保存一些文件是很实用的。

环境准备:

开通读写网盘的权限及获取access_token:http://blog.csdn.net/langyuezhang/article/details/47206621

百度官方pcs api文档:http://developer.baidu.com/wiki/index.php?title=docs/pcs/overview,上面有各种语言的http://www.cppcns.comSDK,我用的laravel5,直接导里面的php SDK还用不了,稍做了修改才能用的。

看完上面两篇文章,基本就可以使用了,下面贴出写直接把用户选择的图片预览然后upload到网盘,上传的api:

https://pcs.baidu.com/rest/2.0/pcs/file?method=upload&path=%2fapps%2wp2pcs%2f1.JPG&access_token=***红色部分是固定的,因为只允许上传到这个目录下,实际对应到网盘的目录是我的网盘/我的应用数据/wp2pcs、,无需先创建目录再上传文件,只需要指定路径,它会自动创建,如你想把图片上传到/apps/wp2pcs/img下,path就写/apps/wp2pcs/img/1.jpg就可以了。下面是把用户在网页上选择的图片,预览后直接上传到网盘的代码,参照了网上的例子:预览:

//图片上传预览 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 += '

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.www.cppcns.comlength > 0)

console.log($("#filectrl" + product)[0]);

if ($("#filectrl" + product)[0].files.length > 0)

{

for (var编程客栈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('

上传成功.
');

} else

{

$("#reusltMsg").append('

上传失败.
');

}

} else

{

$("#reusltMsg").append('

上传失败(200).
');

}

}

$('#coverBg').hide();

$('#coverDiv').hide();

}

xhr.send(formData);

}

} else

{

alert("Please choose a file.");

$('#coverBg').hide();

$('#coverDiv').hide();

}

}

本文标题: 使用pcs api往免费的百度网盘上传下载文件的方法

本文地址: http://www.cppcns.com/ruanjian/java/145145.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/534842.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python缩进教学_Python缩进和选择学习

缩进Python最具特色的是用缩进来标明成块的代码。我下面以if选择结构来举例。if后面跟随条件,如果条件成立,则执行归属于if的一个代码块。先看C语言的表达方式(注意,这是C,不是Python!)if ( i > 0 ){ x 1; y 2;}如果i …

php如何新建xml文件,PHP中的生成XML文件的4种方法分享

生成如下XML串Xml代码title1content12009-10-11title2content22009-11-11方法I.【直接生成字符串】使用纯粹的PHP代码生成字符串,并把这个字符串写入一个以XML为后缀的文件。这是最原始的生成XML的方法,不过有效!$data_array array(array(ti…

组态王能直接读取仪表数据吗_液晶多功能网络电力仪表PD800H

液晶多功能网络电力仪表PD800H-H44三相三线多功用电力表面,一般也被称作网络电力表面,它是一种数字化的监控设备,其功用集成了电量测量,情况监控,远程通讯为一体,作业原理上选用了现代核算机技术和数字信号…

python程序显示自己的版权_手把手教你Pycharm皮肤主题及个性化设置,python程序员必备-Go语言中文社区...

1.设置IDE皮肤主题File -> Settings -> Appearance -> Theme -> 选择“Alloy.IDEA Theme”根据自己的喜好设置字体大小,以及样式。2.修改字体大小File -> Settings > Editor -> Colors & Fonts -> Font -> Size -> 设置为“14”3…

java多线程activemq,多线程JMS客户端ActiveMQ

我正在使用以下代码创建多个JMS会话,以供多个使用者使用消息。我的问题是代码以单线程方式运行。即使消息存在于队列中,第二个线程也无法接收任何内容,而是继续轮询。同时,第一个线程完成对第一批的处理,然后返回并使用…

python cnn 实例_基于CNN的纹理合成实践【附python实现】

Q0: Preliminary knowledge of Texture SynthesisBaseline请见此处,下文所有的代码修改均建立此代码基础之上。1. 纹理合成简述​纹理合成(Texture Systhesis)技术主要应用于计算机图形学等领域,被用于模拟几何模型的表面细节、增强绘制模型的真实感。不…

php使用jasperreport,php-报表引擎指南(Pentaho,JasperReports,BIRT)

我在各种论坛和他们的网站上花费了大约4-5个小时,研究可以帮助我发展的报告工具.我是使用这种工具的新手,可以使用一些特定的指导.我正在开发一个Web应用程序,该应用程序将托管在一台服务器上,但是多个用户可以通过登录进行访问.每个用户将拥有自己的帐户,并且只能访问仅与与其…

python中dlib库_python 基于dlib库的人脸检测的实现

本周暂时比较清闲,可以保持每日一更的速度。国外身份证项目新增需求,检测出身份证正面的人脸。最开始考虑mobilenet-ssd,经同事提醒,有现成的人脸库dlib,那就用传统方法尝试一下。dlib安装dlib的安装小费一波周折&…

php养老院管理系统,XYCMS养老院建站系统 v3.8

XYCMS养老院建站系统是一个专为养老院而设计的养老院建筑系统。中心信息管理:包括基本信息管理,添加,问答中心信息管理新闻动态管理:管理新闻信息内容,管理相关分类,添加或者删除生活环境内容管理&#xff…

php 修改文件访问时间,PHP中获取文件创建日期、修改日期、访问时间的方法

php获取文件创建时间、修改时间常用代码filemtime ( string filename )返回文件上次被修改的时间,出错时返回 FALSE。时间以 Unix 时间戳的方式返回,可用于 date()。例如:$afilemtime("log.txt");echo "修改时间:&…

超过响应缓冲区限制_Nginx如何限制并发连接数和连接请求数?

全网最全1500份Java学习资料、500份BAT面试真题:关注公众号,输入“面试题”,获取提取码!首先讲解两个算发:算法思想是:令牌以固定速率产生,并缓存到令牌桶中;令牌桶放满时&#xff0…

Php公钥加密data是空,php 生成加密公钥加密私钥实例详解

php 生成加密公钥加密私钥实例详解生成公钥私钥 win下必须要openssl.cof支持 liunx一般已自带安装$config array(//"digest_alg" > "sha512","private_key_bits" > 512, //字节数 512 1024 2048 4096 等"private_key_type" >…

python句柄无效_subprocess.Popen 运行windows命令出现“句柄无效”报错的解决方法

【代码笔记】iOS-关于UIFont的一些define一,效果图. 二,工程图. 三,代码. RootViewController.h #import interface RootViewController ...JQuery Datatables Dom 和 Language 参数详细说明http://linleizi.iteye.com/blog/2086435 *********************************** Data …

java日期函数精确到日,java日期时间函数分享

前言:对于新手程序员的我来说,写业务代码是现在的日常,在此过程中经常需要对日期时间进行处理,我挑了几个较有用的日期处理函数分享给大家。正文:1、将某格式的时间字符串转化成毫秒时间戳表示的字符串:pub…

python变量区变量保存与加载_python – Flask:使用全局变量将数据文件加载到内存中...

我有一个大的XML文件,它被打开,加载到内存中,然后由Python类关闭.简化示例如下所示:class Dictionary():def __init__(self,filename):f open(filename)self.contents f.readlines()f.close()def getDefinitionForWord(self,word):# returns a word,using etree p…

php 顺丰接口实例,顺丰BSP接口PHP开发注意事项

1&#xff0c;xml报文不用附加"<?xml version"1.0" encoding"UTF-8" ?>"&#xff0c;不支持&#xff0c;会报格式错误。2&#xff0c;提交服务器时要重点注意。直接使用curl方式的&#xff0c;一定要把数据做http_build_query&#xff0…

跨域产生的原因和解决方法_板式家具开料机加工过程产生崩边原因及解决方法...

家具厂数控开料机加工材料的时候会遇到材料崩边的问题&#xff0c;下面我们系统的分析下产生的原因以及解决的办法产生崩边现象的原因&#xff1f;其一是材料本身问题。目前除了实木家具&#xff0c;目前使用较多的就是 板式贴皮的材料&#xff0c;板材的优点就是标准化生产&am…

facade 门面 php,php设计模式之门面(Facade)模式

该模式属于结构型模式什么是门面模式&#xff1f;定义&#xff1a;门面模式(有时候也称为外观模式)是指提供一个统一的接口去访问多个子系统的多个不同的接口&#xff0c;它为子系统中的一组接口提供一个统一的高层接口。外部与子系统的通信是通过一个门面(Facade)对象进行。其…

架构师一般做到多少岁_《迷茫中的我们该如何突破瓶颈——成长为一名架构师》...

如何成长为一名架构师&#xff1f;架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展&#xff0c;为目标客户提供更为全面的需求清单。很多程序员想成为一名架…

php-fpm初始化失败,FPM的初始化 - [ PHP7的内核剖析 ] - 在线原生手册 - php中文网

FPM的初始化接下来看下fpm的启动流程&#xff0c;从main()函数开始&#xff1a;//sapi/fpm/fpm/fpm_main.cint main(int argc, char *argv[]){... //注册SAPI:将全局变量sapi_module设置为cgi_sapi_modulesapi_startup(&cgi_sapi_module);... //执行php_module_staru…