#region 下载
/// <summary>
/// 下载资源
/// </summary>
public void Download()
{
SaveFileDialog open = new SaveFileDialog();
open.Filter = "*.xls;*.xlsx;*.xl;*.xlsn|*.xls;*.xl;*.xlsn;*.xlsx"; //保存图像类型
string path = "http://192.168.3.63:9999/UpLoad/Default/案例.xlsx";
Uri uri = new Uri(path);
open.FileName = uri.Segments[uri.Segments.Length - ];
DialogResult result = open.ShowDialog();
if (!string.IsNullOrWhiteSpace(open.FileName) && result == DialogResult.OK)
{
if (DownloadImage("http://192.168.3.63:9999/UpLoad/Default/案例.xlsx", open.FileName))
{
MessageBox.Show("下载成功!");
}
}
}
/// <summary>
/// 下载服务器文件至客户端
/// </summary>
/// <param name="urlString">被下载的文件地址,绝对路径</param>
/// <param name="saveDir">另存放的目录</param>
/// <returns>b</returns>
public bool DownloadImage(string urlString, string saveDir)
{
WebClient client = new WebClient();
FileStream fsStr = null;
HttpWebResponse res = null;
try
{
int n = urlString.LastIndexOf("/");
string fileName = urlString.Substring(n + , urlString.Length - n - ); //直接下载到桌面
//client.DownloadFile(urlString, fileName); //下载到指定目录
Stream stream = client.OpenRead(urlString);
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(urlString);
res = (HttpWebResponse)req.GetResponse();
long len = res.ContentLength; BinaryReader r = new BinaryReader(stream);
byte[] byteS = r.ReadBytes((int)len); fsStr = new FileStream(saveDir, FileMode.OpenOrCreate, FileAccess.Write);
fsStr.Write(byteS, , (int)len);
fsStr.Close();
res.Close();
stream.Close();
return true;
}
catch (Exception err)
{
return false;
}
finally
{
if (fsStr != null)
{
fsStr.Close();
fsStr.Dispose();
}
if (res != null)
{
res.Close();
}
}
}
#endregion
#region 下载
/// <summary>
/// 下载图片
/// </summary>
/// <param name="path">下载路径</param>
/// <param name="save">保存路径</param>
//private void DownloadImage(string path, string save)
//{
// Stream stream = null;
// if (path != null)
// {
// Uri uri = new Uri(path);
// try
// { // if ("http".Equals(uri.Scheme, StringComparison.CurrentCultureIgnoreCase))
// {
// //如果是HTTP下载文件
// WebClient wc = new WebClient();
// stream = new MemoryStream(wc.DownloadData(uri));
// }
// else if ("file".Equals(uri.Scheme, StringComparison.CurrentCultureIgnoreCase))
// {
// stream = new FileStream(@path, FileMode.Open, FileAccess.Read);
// } // //Image image = new Bitmap(stream);
// //mage.Save(save);
// MessageBox.Show("保存成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
// }
// catch (Exception e)
// {
// System.Windows.MessageBox.Show(e.Message);
// }
// }
//}
#endregion

 

下载服务器端的图片和下载excel的更多相关文章

  1. android 图片网络下载github开源框架之Universal-Image-Loader

    最近在做妙趣剪纸项目,剪纸应用项目链接.发扬传统文化,大家多多关注. 需要自己搭建服务器,我用的是新浪sae,简直秒杀京东云几条街,把图片放在网上下载,但是图片经常下载要遇到很多问题,包括oom等.所 ...

  2. thinkphp3.2.3 excel导出,下载文件,包含图片

    关于导出后出错的问题 https://segmentfault.com/q/1010000005330214 https://blog.csdn.net/ohmygirl/article/detail ...

  3. C++根据图片url下载图片

    需要使用到URLDownloadToFile()函数,该函数在头文件<urlmon.h>中声明. URLDownloadToFile()函数的定义如下: HRESULT URLDownlo ...

  4. Unity3D图片的下载及保存

    Unity3D图片的下载及保存 分类: Unity3D 2013-06-24 15:03 3609人阅读 评论(2) 收藏 举报 Unity3D图片URL 代码如下: [csharp] view pl ...

  5. [C#基础实例]指定地址解析图片并下载

    需求:查找页面图片并下载至本地: 实现: 首先:读取通过网络html内容,并用正则表达式查找图片地下. 其次:使用WebRequest.Create创建图片请求. 最后:把获取图片网络流数据通过Fil ...

  6. PhoneGap奇怪的现象:File FileTransfer download, 手机相册检测不到下载下来的图片(解决)

    我有个从服务器下载相片的功能在使用 File FileTransfer download api时,碰到了很奇怪的现象:图片已经从服务器里下载了,手机文件夹里也可以看到下载过来的图片,但是我的手机相册 ...

  7. DELL服务器引导光盘图片及下载链接

    DELL服务器引导光盘图片及下载链接 所有的下载地址均是ftp开头的,下载时,请 拷贝下载地址,然后放到浏览器的地址栏进行下载! 各个下载地址汇总: http://search.dell.com/re ...

  8. php将抓取的图片链接下载到本地

    备注: fclose这一步操作完成之后如果返回值是空表示下载成功,否则会返回1或者其他错误提示 这个步骤测试的时候实在yii2框架的基础上执行的,下载到的图片实在frontend目录下的web目录下( ...

  9. 【图文详解】python爬虫实战——5分钟做个图片自动下载器

    python爬虫实战——图片自动下载器 之前介绍了那么多基本知识[Python爬虫]入门知识,(没看的先去看!!)大家也估计手痒了.想要实际做个小东西来看看,毕竟: talk is cheap sho ...

随机推荐

  1. C# 6.0的新变化

    自动属性初始化 (Initializers for auto-properties) 以前我们是这么写的 为一个默认值加一个后台字段是不是很不爽,现在我们可以这样写 只读属性的初始化(Getter-o ...

  2. file operation note

    从HLE回来,大家拍了2499张照片,分放在N个文件夹下,下面的python将下层目录中文件移动到上层 import os,shutil dst=os.getcwd()+os.sep for path ...

  3. sql语句感想

    select出来内容可以当成表拿来用,,比如取别名什么的. union是纵向的,追加记录(行) join on是横向的,追加列

  4. Java基础之线程——管理线程同步方法(BankOperation2)

    控制台程序. 当两个或多个线程共享同一资源时,例如文件或内存块,就需要采取措施,确保其中的一个线程不会修改另一个线程正在使用的资源.当其中的一个线程更新文件中的某个记录,同时另一个线程正在检索这个记录 ...

  5. Java基础之一组有用的类——生成日期和时间(TryDateFormats)

    控制台程序. java.util包中含有相当多的类涉及日期和时间,包括Date类.Calendar类和GregorianCalendar类. Date类对象其实定义了精确到毫秒的时刻,从1970年1月 ...

  6. Java基础之写文件——在通道写入过程中的缓冲区状态(BufferStateTrace)

    控制台程序,在Junk目录中将字符串“Garbage in, garbage out\n”写入到名为charData.txt的文件中. import static java.nio.file.Stan ...

  7. Java线程同步和线程通信

    一.线程同步 当多个线程访问同一个数据时,非常容易出现线程安全问题.这时候就需要用线程同步. 不可变类总是线程安全的,因为它的对象状态是不可改变的,但可变类对象需要额外的方法来保证线程安全. 1.同步 ...

  8. Java Servlet(一):创建工程(jdk7+tomcat7+eclipse)

    本篇文件主要记录下怎么在jdk7+tomcat7下,使用eclipse创建并运行一个servlet工程. 安装具体步骤从网上搜索就可以找到,这里不再赘述. 在eclipse中切换到j2ee下, 从导航 ...

  9. 为什么要在block用weak self

    block会给内部所有的对象引用计数加一,这一方面会带来潜在的retain cycle,不过我们可以通过Weak Self的手段解决.另一方面比较重要就是,它会延长对象的生命周期. 在block前面写 ...

  10. ofbiz进击 。 ofbiz 退货流程(包含获取可退货项流程分析 以及 取消退货项的过程分析)

    根据订单获取可退货项流程分析 退货的时候,调用 services_return.xml 中的获取可进行退货的退货项  getReturnableItems  ,该服务调用了Java类 org.ofbi ...