img标签 加载FTP的图片 C#
好吧,我是菜鸟,这是我今天遇到的问题,什么也不会,得高人指点
1.使用FtpWebRequest下载图片,以流存贮
2.在ashx文件里面直接已流方式(HttpContext.Current.Response.ContentType = "image/jpeg";)输出图片
3.页面的img标签的src指向ashx文件
还是贴代码实际点
public void ViewFTPImageFile(string strFullPath)
{ //定义FTP请求对象
FtpWebRequest ftpRequest = null;
//定义FTP响应对象
FtpWebResponse ftpResponse = null; //存储流
FileStream saveStream = null;
//FTP数据流
Stream ftpStream = null;
StreamReader reader = null;
try
{
//生成FTP请求对象
ftpRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri(strFullPath)); //设置下载文件方法
ftpRequest.Method = WebRequestMethods.Ftp.DownloadFile; //设置文件传输类型
ftpRequest.UseBinary = true;
ftpRequest.KeepAlive = false;
ftpRequest.UsePassive = true;
//设置登录FTP帐号和密码
ftpRequest.Credentials = new NetworkCredential(entity.User_Name, entity.Pwd); ftpResponse = (FtpWebResponse)ftpRequest.GetResponse(); //获取FTP响应流对象
ftpStream = ftpResponse.GetResponseStream(); int bufferSize = ; byte[] buffer = new byte[bufferSize]; HttpContext.Current.Response.ContentType = "image/jpeg";
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.Public);
HttpContext.Current.Response.BufferOutput = false; //while ((readCount = ftpStream.Read(buffer, 0, 2048)) > 0)
//{
ftpStream.Read(buffer, , bufferSize); HttpContext.Current.Response.BinaryWrite(buffer);
HttpContext.Current.Response.Flush();
//}
ftpStream.Close(); //HttpContext.Current.Response.Close(); }
catch (Exception ex)
{
Console.WriteLine(ex.Message); }
finally
{
if (ftpStream != null)
{
ftpStream.Close();
} if (saveStream != null)
{
saveStream.Close();
} if (ftpResponse != null)
{
ftpResponse.Close();
}
}
}
ashx就直接使用方法,可以顺便传个参数啥的
然后页面直接用就行了
<img src="../Ashx/Image.ashx>" />
我擦嘞,然后就可以了,心里有些小激动,但是发现chrome不能用,报错net::ERR_INCOMPLETE_CHUNKED_ENCODING ,至于原因嘛,很高端,不过解决办法很简单
当当当~像这样 //HttpContext.Current.Response.Close();注释掉就可以了。。。。。。好蛋疼,折腾了好久呢。。。。。不过结果是好的,偷笑。。。
img标签 加载FTP的图片 C#的更多相关文章
- Android开发技巧——TextView加载HTML的图片及代码显示问题
前几天在做一个Gradle用户指南的应用程序,使用的是TextView来加载HTML内容(至于为什么不用WebView,我也没有认真使用并比较过,也许以后会换吧),其中遇见了一些纠结的问题,所幸主要的 ...
- Html中的img标签 加载失败
在Http请求时,有时会遇到img图片标签加载失败,不显示的情况: 解决方法,在重新给src属性赋值时,先将onerror事件清除掉,再赋值,这样就不会存在循环调用问题了,代码如下; <img ...
- Cordova页面加载外网图片失败,Refused to load the image
原文:Cordova页面加载外网图片失败,Refused to load the image 1.使用Cordova页面加载外网图片失败,抛出异常 Refused to load the image ...
- 如何在启用SharePoint浏览器功能的InfoPath 表单中添加托管代码以动态地加载并显示图片
InfoPath 的浏览器表单不支持加载并显示图片,当然在模板中可以插入图片,但是如果想显示数据库的一幅图片,或是动态加载一张图片就无能为力了. 基实这个问题可以通过在浏览器表单中使用: " ...
- 转载:Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式
Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式 出自:http://www.cnblogs.com/top5/archive/2012/08/04/2623464.html 关 ...
- iOS网络编程(三) 异步加载及缓存图片---->SDWebImage
@SDWebImage提供一个UIImageView的类别以支持加载来自网络的远程图片.具有缓存管理.异步下载.同一个URL下载次数控制和优化等特征. @SDWebImage的导入1.https:// ...
- Django的urls.py加载静态资源图片,TypeError: view must be a callable or a list/tuple in the case of include().
Django的urls.py加载静态资源图片,TypeError: view must be a callable or a list/tuple in the case of include(). ...
- iOS WebView 加载本地资源(图片,文件等)
https://www.cnblogs.com/dhui69/p/5596917.html iOS WebView 加载本地资源(图片,文件等) NSString *path = [[NSBundle ...
- script标签加载顺序(defer & async)
script 拥有的属性 async:可选,表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本.只对外部脚本文件有效. charset:可选.表示通过 src 属性指 ...
随机推荐
- JavaScript 动态脚本
动态脚本,指的是在页面加载时不存在,但将来的某一个时刻通过修改DOM动态添加的脚本. <script type="text/javascript"> function ...
- 快速增加sql数据
declare @i int begin insert into dbo.w10test(Name) select Name from dbo.w10test end;
- Java 接口练习题
中国特色社会主义的体制中有这样的现象:地方省政府要坚持党的领导和按 照国务院的指示进行安全生产.请编写一个java应用程序描述上述的体制现象. 要求如下: (1)该应用程序中有一个“党中央”接口:Ce ...
- Java课程设计——扫雷(winmine)
因为是我的课程设计,要是有冲突就不好了,转载注明出处!!! 程序很简单,毕竟我是搞acm的,我就只介绍一下闪光点. 中心空白搜索的时候,我用的DFS: 有一点是要注意的,就是JFrame不支持重画,还 ...
- [原]在AMD机器上使用android studio
amd机器上使用android studio进行调试.因为amd的cpu不支持IntelVT,所以可能会有如下错误提示 我们有几个选择: 1. 使用真机调试 2. 配合genymotion 3. ...
- WIX
1. Create msi File http://www.cnblogs.com/lienhua34/archive/2012/10/07/2714367.html 2. information a ...
- .dtsi .dts dtc dtb 是什么
基础 .dts: device tree source .dtsi: device tree source include .dts比作源文件,.dtsi比作头文件. dtc是linux源码 /s ...
- 渗透杂记-2013-07-13 关于SMB版本的扫描
smb2的溢出,其实在metasploit里面有两个扫描器可以用,效果都差不多,只是一个判断的更加详细,一个只是粗略的判断. Welcome to the Metasploit Web Console ...
- 【分享】图解Windows Server 2012 R2 配置IIS 8全过程
最近计划更换服务器,包括IIS服务器与数据库服务器,操作系统都是Windows Server 2012 R2,第一次接触Windows Server 2012,感觉比较新鲜,一路摸索完成了IIS 8 ...
- Linux系统下配置Tomcat
1.将下载好的tomcat文件拷贝至/usr/java文件夹中: cp apache-tomcat-7.0.72.tar.gz /usr/java 2.进入/usr/java文件夹: cd /usr/ ...