<img>标签显示本地路径的图片的.NET解决方案
今天朋友问了我一个奇怪的需求:项目中要求图片上传到工作目录,上传后要在网页中通过<img>显示出来。图片上传后显示,在开发中常见的做法是将它图片上传到网站目录下(upload/),如果保存到别的目录(如:d:/upload),再用<img src="d:/upload/xxx.jpg"> 是找不到图片的。
想到了两种解决方法:
第一种:给路径加上"file://" (File协议主要用于访问本地计算机中的文件),目前只有ie下能正常显示
<img src="file:///d:/upload/xxx.jpg" />
第二种做法:创建一般处理程序(ShowLocalImg.ashx) ,再调用context.Response.WriteFile()
以下部分代码示例:
Upload.html
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<form action="Upload.ashx" method="post" enctype="multipart/form-data">
<input type="file" name="pic" />
<input type="submit" value="Upload" />
</form>
</body>
</html>
Upload.ashx
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/html"; HttpPostedFile file = context.Request.Files["pic"];
if (file != null)
{
String filePath = "c:/upload/" + file.FileName;
file.SaveAs( filePath );
context.Response.Write(String.Format("<img src='./ShowLocalImage.ashx?path={0}' />",
context.Server.UrlEncode(filePath)));
} }
ShowLocalImage.ashx
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "image/jpeg"; String filePath = context.Request["path"]; if (filePath != null)
{
if (File.Exists(filePath))
{
context.Response.WriteFile( filePath );
}
}
}
注意:如果要对图片进行定制(做成缩略图、部分显示等),则可以在ShowLocalImg.ashx中用Graphic。。
<img>标签显示本地路径的图片的.NET解决方案的更多相关文章
- 前端 img标签显示 base64格式的 图片
本文链接:https://blog.csdn.net/kukudehui/article/details/80409522在做项目的时候,我从后端返回了一个base64格式的图片文件,想把它渲染在前端 ...
- img标签显示本地文件
html: <img src="__IMG__/male.png" id="imgfpic1" style="height: 100%; wid ...
- img标签使用绝对路径无法显示图片
说明: 图片的磁盘路径斜杠使用:右斜杠"\",而图片的网络路径使用左斜杠"/",注意加以区分. 如果这张图片属于服务器图片或者网络图片,我们必须在Img标签里 ...
- Atitit. IE8.0 显示本地图片预览解决方案 img.src=本地图片路径无效的解决方案
Atitit. IE8.0 显示本地图片预览解决方案 img.src=本地图片路径无效的解决方案 1. IE8.0 显示本地图片 img.src=本地图片路径无效的解决方案1 1.1. div来完成 ...
- tomcat中显示本地图片①(未解决)
<本模块文仅作为学习过程中的自我总结,有需要可参看,欢迎指导与提出建议,很多地方可能断章取义,理解不到位,虚心求学.谢谢!> 资料查阅原因:2018/7/10(做项目中显示详情页面,从数据 ...
- 在InternetExplorer.Application中显示本地图片
忘记了,喜欢一个人的感觉 Demon's Blog » 程序设计 » 在InternetExplorer.Application中显示本地图片 « 对VBS效率的再思考——处理二进制数据 Wo ...
- Slog71_选取、上传和显示本地图片GET !(微信小程序之云开发-全栈时代3)
ArthurSlog SLog-71 Year·1 Guangzhou·China Sep 12th 2018 ArthurSlog Page GitHub NPM Package Page 掘金主页 ...
- Android 使用ContentProvider扫描手机中的图片,仿微信显示本地图片效果
版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/1873 ...
- Android 使用开源库StickyGridHeaders来实现带sections和headers的GridView显示本地图片效果
大家好!过完年回来到现在差不多一个月没写文章了,一是觉得不知道写哪些方面的文章,没有好的题材来写,二是因为自己的一些私事给耽误了,所以过完年的第一篇文章到现在才发表出来,2014年我还是会继续在CSD ...
随机推荐
- 密码学笔记——zip明文攻击
明文攻击(Known plaintext attack):是一种攻击模式,指攻击者已知明文.密文及算法,求密钥的过程. 例题: 这就是一个坑 密码是十位大小写字母.数字.特殊符号组成的,你爆破的开么? ...
- openresty + lua
lua语法总结: 1. 导入模块(用require来加载,模块是一个类型为table的全局变量) 导入写好的包,举例如下: 2. lua 数据类型(有8种:nil.boolean.number.str ...
- 题解 【Codeforces387B】George and Round
以下选自官方题解: 考虑困难的需求数量,我们将覆盖这些困难, 然后我们将提出新的问题,并准备新的问题来覆盖其他需求. 很明显,如果我们决定满足从n中抽取i的要求,那么最好采用那些复杂性最小的要求. 让 ...
- TCP协议的3次握手与4次挥手过程【深度详解】
一.前沿 尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务.TCP提供一种面向连接的.可靠的字节流服务.面向连接意味着两个使用TCP的应用(通常是一个客户和一个 ...
- pudn免费下载账号 codeforge积分账号 pudn共享账号 codeforge下载账号
www.pudn.com和www.codeforge.cn网站下载代码很好,没有积分怎么办?那么多好的matlab代码,matlab程序,C,JAVA等等,都要充值啊!!! 下面的账号积分都用完了,大 ...
- rabbitmq快速安装(实测有效)(新版)
rabbitMq的快速安装和使用在第二部分,第一部分就看个热闹,第二部分直接可以完成环境的搭建 如果需要资料的话可以直接来 这里 进行下载 第一部分 http://www.cnerlang.com/r ...
- Git的基本使用 -- Git配置
文件种类 仓库级别(当前仓库有效) local 用户级别(当前用户有效) global 系统级别(系统全局有效) system 系统级别的配置 git config --system user.nam ...
- 6485. 【GDOI2020模拟02.25】沙塔斯月光
题目描述 题解 镇♂男则反 如果没有操作3很好办,反着做维护操作1的次数即可 实际上一次操作3的贡献是zi*(∑i到操作1位置的距离) 维护一下即可O(n^4) code #include <b ...
- IDF-CTF-简单的Elf逆向Writeup
ElfCrackMe1 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !imp ...
- properties文件读写工具类PropertiesUtil.java
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ...