小米云相片恢复到本地与网络相片

没有更多推荐了,
不良信息举报
举报内容:
爬取网络图片并下载到本地
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!本地图片怎么获得网络url? - 知乎1被浏览126分享邀请回答暂时还没有回答,开始写第一个回答转载于博客园&
https://www.cnblogs.com/zhangdiIT/p/7895903.html
写的很棒& 推荐给大家
场景一:将用户本地上传的资源转化,即用户通过浏览器点击文件上传时,将图片资源转化成base64:
&input type="file" id="image"&&br/&
var reader = new FileReader();
var AllowImgFileSize = 2100000; //上传图片最大值(单位字节)( 2 M = 2097152 B )超过2M上传失败
var file = $("#image")[0].files[0];
var imgUrlBase64;
if (file) {
//将文件以Data URL形式读入页面
imgUrlBase64 = reader.readAsDataURL(file);
reader.onload = function (e) {
//var ImgFileSize = reader.result.substring(reader.result.indexOf(",") + 1).//截取base64码部分(可选可不选,需要与后台沟通)
if (AllowImgFileSize != 0 && AllowImgFileSize & reader.result.length) {
alert( '上传失败,请上传不大于2M的图片!');
//执行上传操作
alert(reader.result);
场景二:将本项目中的图片资源转化成base64,(我还没有用到过此场景,感觉场景二也可以通过场景三来实现)
function(){
var url = "static/img/js1.jpg";//这是站内的一张图片资源,采用的相对路径
convertImgToBase64(url, function(base64Img){
//转化后的base64
alert(base64Img);
//实现将项目的图片转化成base64
function convertImgToBase64(url, callback, outputFormat){
var canvas = document.createElement('CANVAS'),
  ctx = canvas.getContext('2d'),
  img = new I
  img.crossOrigin = 'Anonymous';
  img.onload = function(){
  canvas.height = img.
  canvas.width = img.
  ctx.drawImage(img,0,0);
  var dataURL = canvas.toDataURL(outputFormat || 'image/png');
  callback.call(this, dataURL);
  canvas =
  img.src =
场景三:将网络图片资源转化为base64,(感觉场景二中的资源换成绝对路径即可使用在场景三中)
function(){
   //这是网上的一张图片链接
   var url="http://p1.pstatp.com/large/435dbd8de10";
getBase64(url)
.then(function(base64){
console.log(base64);//处理成功打印在控制台
},function(err){
console.log(err);//打印异常信息
//传入图片路径,返回base64
function getBase64(img){
function getBase64Image(img,width,height) {//width、height调用时传入具体像素值,控制大小 ,不传则默认图像大小
var canvas = document.createElement("canvas");
canvas.width = width ? width : img.
canvas.height = height ? height : img.
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
var dataURL = canvas.toDataURL();
return dataURL;
var image = new Image();
image.crossOrigin = '';
image.src =
var deferred=$.Deferred();
image.onload =function (){
deferred.resolve(getBase64Image(image));//将base64传给done上传处理
return deferred.promise();//问题要让onload完成后再return sessionStorage['imgTest']
至此,便将图片base64转码的三种场景介绍完毕了,下面是基于以上的一下拓展:
拓展一:后台需要以纯字符串的形式上传(即去掉data:image/base64,截取字符串即可)
reader.result.substring(reader.result.indexOf(",") + 1)
拓展二:判断base64资源大小,超过2M不让上传
var AllowImgFileSize = 2100000;
//上传图片最大值(单位字节)( 2 M = 2097152 B )
if (AllowImgFileSize != 0 && AllowImgFileSize & reader.result.length) {
alert( '上传失败,请上传不大于2M的图片!');
其中reader.result即是base64转码后的结果。以上便是对网络上的一些资源的整理,亲测可用。如有不对可以留言交流。
阅读(...) 评论()Android 下载网络图片保存到本地
通过网络地址获取网络图片,点击下载将图片显示出来,然后点击图片将图片保存到本地。
首先需要在manifest上添加一些权限:
package com.xjw.
import java.io.F
import java.io.FileOutputS
import java.io.InputS
import java.net.HttpURLC
import java.net.URL;
import android.os.AsyncT
import android.os.B
import android.os.E
import android.os.H
import android.os.M
import android.app.A
import android.graphics.B
import android.graphics.BitmapF
import android.view.V
import android.view.View.OnClickL
import android.widget.B
import android.widget.ImageV
import android.widget.T
public class MainActivity extends Activity implements OnClickListener{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
content=(Button)findViewById(R.id.content);
image=(ImageView)findViewById(R.id.image);
content.setOnClickListener(this);;
image.setOnClickListener(this);;
* 获取网络图片
* @param imageurl 图片网络地址
* @return Bitmap 返回位图
public Bitmap GetImageInputStream(String imageurl){
HttpURLConnection connection=
Bitmap bitmap=
url = new URL(imageurl);
connection=(HttpURLConnection)url.openConnection();
connection.setConnectTimeout(6000); //超时设置
connection.setDoInput(true);
connection.setUseCaches(false); //设置不使用缓存
InputStream inputStream=connection.getInputStream();
bitmap=BitmapFactory.decodeStream(inputStream);
inputStream.close();
} catch (Exception e) {
e.printStackTrace();
public void onClick(View v) {
switch (v.getId()) {
case R.id.content:
//加入网络图片地址
new Task().execute(&https://pic.4j4j.cn/upload/pic/95c3c95.jpg&);
case R.id.image:
//点击图片后将图片保存到SD卡跟目录下的Test文件夹内
SavaImage(bitmap, Environment.getExternalStorageDirectory().getPath()+&/Test&);
Toast.makeText(getBaseContext(), &图片保存&, Toast.LENGTH_SHORT).show();
Handler handler=new Handler(){
public void handleMessage(android.os.Message msg) {
if(msg.what==0x123){
image.setImageBitmap(bitmap);
* 异步线程下载图片
class Task extends AsyncTask{
protected Void doInBackground(String... params) {
bitmap=GetImageInputStream((String)params[0]);
protected void onPostExecute(Void result) {
super.onPostExecute(result);
Message message=new Message();
message.what=0x123;
handler.sendMessage(message);
* 保存位图到本地
* @param bitmap
* @param path 本地路径
* @return void
public void SavaImage(Bitmap bitmap, String path){
File file=new File(path);
FileOutputStream fileOutputStream=
//文件夹不存在,则创建它
if(!file.exists()){
file.mkdir();
fileOutputStream=new FileOutputStream(path+&/&+System.currentTimeMillis()+&.png&);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100,fileOutputStream);
fileOutputStream.close();
} catch (Exception e) {
e.printStackTrace();相片存储专家
1.3亿用户&&56亿相片
不限总量空间
免费提供1G基础空间,超出后每月仍可享受300M上传流量
支持原图存储
最大支持20M原图无损上传,完美保留每一个图像细节
强大管理功能
支持7种相片排序方式,提供批量下载与相册分类功能
LOFTER社区
网易云相册
移动版网易相册,为散落的相片找个家
移动端相片便捷上传
批量上传,双重备份,从此丢开那条麻烦的数据线
多人相册亲密分享
独有相片群功能,提供创新的多人相册-私密分享
随时随地浏览相册
平板,手机,PC与你的网易相册无缝对接,随时浏览相片
支持iPad、iPhone和Android手机
网易摄影社区
有一种风格叫做薄荷味,一同来感受…
成员:1707作品:39581
室内女性写真作品,彰显人和环境之…
成员:1080作品:8917
用心地拿起相机,去记录那些让你感…
成员:4430作品:75070

我要回帖

更多关于 洪燕芬与女儿的相片 的文章

 

随机推荐