实现上传图片功能需单独的建立一个aspx页面,
其中前台页面需要注意两点:
a)实现上传功能的input的type="file"
b)设置请求报文头为 enctype="multipart/form-data" 类型

前台代码如下:

<form method="post" enctype="multipart/form-data">
<table class="list">
<tr>
<th>上传</th>
<td>
<input type="file" name="f1" /></td>
</tr>
<tr>
<th></th>
<td>
<input type="submit" value="上传" /></td>
</tr>
</table>
</form>

在后台.cs文件中需注意几点:
a)使用 Request.Files 从请求报文中获得上传过来的文件

b)上传到服务器中需要重命名一个永不重复的文件,使用 Guid.NewGuid()
string newName = Guid.NewGuid() + extName;

c)上传成功的标志为重命名的图片上传到服务器上,并且数据库中存储图片路径的字段修改成功

后台处理上传的方法 ProcessUpload() 代码如下:

private void ProcessUpload(int pid)
{
//1.0得到上传过来文件
HttpFileCollection fils = Request.Files;//得到上传过来的文件 if (fils.Count > )
{
if (fils[].ContentLength > )
{
//2.0上传图片以后要将图片的名称做一个修改(不能重复)
string oldName = fils[].FileName;
//得到当前名称的后缀
string extName = System.IO.Path.GetExtension(oldName);
//生成一个永不重复的名称
string newName = Guid.NewGuid() + extName; using (Image img = Image.FromStream(fils[].InputStream))
{
//将图片流保存到服务器路径上
img.Save(Server.MapPath("/upload/img/") + newName); //将数据库中数据对应对象的图片名称改为当前图片的名称
BlogPhotoBLL bll = new BlogPhotoBLL();
BlogPhoto model = bll.GetModel(pid);
//修改图片的名称
model.PSrc = newName;
//提交,修改数据库图片的名称
if (bll.Update(model))
{
Response.Write("<script>alert('上传成功');window.location='/0906/Photo/PhotoList.aspx?albId=" + albId + "'</script>");
Response.End();
}
}
}
else
{
Response.Write("<script>alert('您还没有选中文件');window.location=window.location</script>");
Response.End();
}
}
}

aspx页面中用Input 标签实现上传图片功能的更多相关文章

  1. HTML简单登录和注册页面及input标签诠释

    今天第一次接触HTML这种语言,虽然不能完全理解其中的意思,过去学的英语单词几乎也忘了差不多了,但是感觉进入这门语言学习之后就没有那么难了,一步一步来吧!下面巩固下今天学内容: HTML是一种超文本标 ...

  2. html移动应用 input 标签 清除按钮功能如何实现(不触发键盘)

    有个需求是:输入框有文本的时候就显示清除按钮,没有文本则隐藏清除按钮,点击清除按钮不能影响键盘弹出的状态. 网上有css实现自动显示和隐藏清除按钮的方案,但是考虑到兼容性,我们还是使用js来实现. c ...

  3. vs2010 用户控件拖到aspx页面不可用

    错误描述: 在web项目中添加一个用户控件,直接拖动用户控件ascx到aspx页面出现a标签而不是控件标签 解决办法: 把“源”切换为“设计”视图,然后拖动ascx用户控件到页面即可:

  4. input标签上传图片怎么获取src;

    大家都知道input标签可以上传文件 如: <input type="file"/> 就可以上传文件,当然也可以上传图片,上传的图片的src地址如何取到: var re ...

  5. sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)

    sql server 关于表中只增标识问题   由于我们系统时间用的过长,数据量大,设计是采用自增ID 我们插入数据的时候把ID也写进去,我们可以采用 关闭和开启自增标识 没有关闭的时候 ,提示一下错 ...

  6. 小小标签,强大功能——深藏不露的 <input>

    <input> 虽只是一个看似简单的 HTML 表单元素,但它这么一个单一的元素,就有多达 30 多个属性(attribute),相信无论你是个小菜鸟还是像我一样写了 15 年 HTML ...

  7. Aspx页面模拟WebService功能

    在后台引入 using System.Web.Services 命名空间 然后在编写web服务方法: [WebMethod] public static string GetData(string t ...

  8. 如何解决火狐FF里Input标签刷新页面后 仍然保存之前输入的内容的方法。

    直接在input 标签里 增加 autocomplete="off".火狐默认为 on.

  9. 让ASPX页面可以提交html标签代码的配置

    1:打开web.config文件,在system.web节点里,添加<httpRuntime requestValidationMode="2.0" /> 2:在asp ...

随机推荐

  1. scrum站立会议简介

    1简介            站立会议:在敏捷流程的冲刺阶段中,每一天都会举行项目状况会议,强迫每个人向同伴报告进度,迫使大家把问题摆在明面上,这个会议被称为“scrum”或“每日站立会议”. 2.要 ...

  2. Enterprise Library 5.0 系列教程

    1. Microsoft Enterprise Library 5.0 系列教程(一) Caching Application Block (初级) 2. Microsoft Enterprise L ...

  3. java类包第十一章

    1.同一个包中的类互相访问,不需要制定包名. 2.java中包名的规则是全部使用小写字母 3.final 方法不能被覆盖, public class OuterClass {    innerClas ...

  4. Spring Data Jpa真爽啊

    http://www.ibm.com/developerworks/cn/opensource/os-cn-spring-jpa/ 持久层的实现类可以让框架生成.只需要声明持久层接口,框架直接生成代理 ...

  5. ubuntu14安装ambari2.2

    https://cwiki.apache.org/confluence/display/AMBARI/Install+Ambari+2.2.0+from+Public+Repositories 查看是 ...

  6. iis实现类似tomcat ip:port直接访问站点

    先配置host: 建站点: iis配置文件地址:C:\Windows\System32\inetsrv\config\applicationHost.config(于tomcat中的web.xml类似 ...

  7. How I came to find Linux

    http://ianmurdock.com/post/how-i-came-to-find-linux/ lan murdock August 17, 2015 I saw my first Sun ...

  8. MCADEx Tools 6.3下载地址

    MCADEx Tools 6.3下载地址: http://pan.baidu.com/s/1pLxQPkR 修改参数批量设置工具为模型批量检查工具; 修改模型批量检查过滤工具; 修改工程图管理过滤工具 ...

  9. Can brain stimulation aid memory and brain health?

    Can brain stimulation aid memory and brain health? Harvard Women’s Health Watch Image: Thinkstock Th ...

  10. SQL函数——LENGTH()和LENGTHB()

    LENGTH()函数是比较简单同时也是非常有用的一个函数,在此小记一下,加深印象以备后用! 1:先上实验的例子——我新建了一张Student表,插入了若干条测试数据,如下图所示: 2:实验LENGTH ...