#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. Excel公式无法重算,暂无法解决

    一份复杂的excel报表,某些单元格是用求和公式算出来的值,但生成之后,用excel打开,无法显示公式结果,按F9也没有用,只能在单元格公式双击后回车才会显示.而在WPS2010按F9就可以重算,WP ...

  2. IDEA SDK(Software Development Kit) 介绍

    如上图标注 1 所示,IntelliJ IDEA 支持 6 种 SDK.最常用的就是 JDK 和 Android SDK,其中在创建 Android SDK 的时候如果你没有先配置一个 JDK 的话, ...

  3. js拖拽换位置,使用数组方法

    之前一直需要一个拖拽效果,网上找了些感觉不是不好用,就是写的有些地方让人不太满意,下面贡献一个自己写的.亲测可用,拖动后可互换位置!(带有注释) 方法/步骤 CSS代码部分 <style> ...

  4. UML: 活动图

    摘自http://www.umlonline.org/school/thread-36-1-1.html 活动图和流程图很类似,我们看看一个流程图的例子: 活动图是用来描述流程的一种图,它与流程图的不 ...

  5. C++之路起航——标准模板库(queue)

    queue: FIFO队列:先进先出队列. 优先队列:对队列中的元素按优先级的大小输出. 定义: FIFO队列: queue<数据类性>变量名. 优先队列:priority_queue&l ...

  6. bzoj1834 [ZJOI2010]network 网络扩容

    第一问跑最大流,第二问新建一条边连接0和1,流量为上第一问的答案+k,费用为0,接下来图中每条边拆成两条边,第一条容量为C费用为0,第二条容量无穷费用为W,再跑一遍费用流即可. 代码 #include ...

  7. CORBA的简单介绍及HelloWorld(zhuan)

    http://blog.csdn.net/drykilllogic/article/details/25971915

  8. fackbook的Fresco (FaceBook推出的Android图片加载库-Fresco)

    [Android开发经验]FaceBook推出的Android图片加载库-Fresco   欢迎关注ndroid-tech-frontier开源项目,定期翻译国外Android优质的技术.开源库.软件 ...

  9. drds 分库表的创建速记

    关键词 :dbpartition by hash(`INVESTOR_APPLY_ID`) 格式 :dbpartition by hash(分库字段) 创建例子: CREATE TABLE `BB_J ...

  10. springmvcの神总结のreadme

    ********李守宏springmvc******** 3.== --\springmvc一个controller实现多个方法 ----\继承MultiActionController ----\配 ...