webform 上传
要使用控件 - FileUpload
1、如何判断是否选中文件?
FileUpload.FileName -
选中文件的文件名,如果长度不大于0,那么说明没选中任何文件
js - f.value.length
2、如何保存到服务器上?
FileUpload.SaveAs("绝对路径");
3、如何获得绝对路径?
先编写相对路径 - "UpLoads/abc.txt"
将相对路径映射成绝对路径 - Server.MapPath("UpLoads/abc.txt");
4、现在只能上传成为txt文件,并且名字只能是abc,如何保留文件原有的名字和文件类型?
"UpLoads/" + FileUpload1.FileName;
5、如何防止重名覆盖的问题?
"UpLoads/" + Request.Cookies["user"].Value + DateTime.Now.ToString("yyyyMMddhhmmssms") + FileUpload1.FileName;
6、如何限制选中文件的类型?
限制普通人,给控件添加属性 - accept=".jpg,.png,.jpeg,.txt"
限制找事的:
document.getElementById("Button1").onclick = function () {
var fileName = document.getElementById("FileUpload1").value;
var name = fileName.substr(fileName.length - , );
var name1 = fileName.substr(fileName.length - , );
if (name != ".jpg" && name != ".png" && name != ".txt" && name1 != ".jpeg")
{
alert("请选择正确的文件!你要找事儿啊??");
return false;
}
};
7、控制上传文件的大小
扩容 - 系统默认允许最大上传长度是4MB
webconfig配置文件中写入
<system.web>
<compilation debug="false" targetFramework="4.0" />
<httpRuntime maxRequestLength="" />
</system.web>
百度搜,研究,C#大文件上传,断点续传。
注意!不要扩的太多,否则多人同时上传大文件会造成服务器内存不足!
限制大小
C#端限制:
if (FileUpload1.PostedFile.ContentLength>(**))
{
Label1.Text = "文件长度过长!!!";
return;
}
JS端限制:
var f = document.getElementById("FileUpload1");
if (f.files[].size > ( * * )) {
alert("文件过大!!!");
return false;
}
案例:
界面:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" accept=".jpg,.png,.jpeg,.txt" />
<asp:Button ID="Button1" runat="server" Text="上传" />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</div>
</form>
</body>
</html>
<script type="text/javascript">
document.getElementById("Button1").onclick = function () {
//限制选中文件的类型
var fileName = document.getElementById("FileUpload1").value;
var name = fileName.substr(fileName.length-,);//文件名后4位
var name1 = fileName.substr(fileName.length - , );//文件名后5位
if(name!=".jpg"&&name!=".png"&&name!=".txt"&&name1!=".jpeg")
{
alert("请选择正确的文件类型!!");
return false;
}
//限制大小
var fu = document.getElementById("FileUpload1");
//fu.files[0].size 选中文件的长度
if (fu.files[].size > ( * * )) {
alert("文件过大");
return false;
}
}
</script>
界面
后台:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Button1.Click += Button1_Click;
} void Button1_Click(object sender, EventArgs e)
{
//若为选择文件
if (FileUpload1.FileName.Length <= )
{
Label1.Text = "请选择文件!";
return;
}
//若上传文件大于设置的最大长度
if(FileUpload1.PostedFile.ContentLength>(**))
{
Label1.Text = "文件过大!";
return;
}
//上传路径
string path = "Uploads" + DateTime.Now.ToString("yyyyMMddhhmmssms") + FileUpload1.FileName;
string endpath = Server.MapPath(path);
//保存到路径中
FileUpload1.SaveAs(endpath); }
}
后台:
<?xml version="1.0" encoding="utf-8"?> <!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
--> <configuration> <system.web>
<compilation debug="false" targetFramework="4.0" />
<httpRuntime maxRequestLength=""/>
</system.web> </configuration>
Web.config
webform 上传的更多相关文章
- WebForm上传文件FileUpload
//Button1的点击事件 //FileUpload1.FileName为所传文件的名字. //以DateTime.Now.ToString("yyyyMMddhhmmssms" ...
- 通过winForm控制webForm的上传控件file的值
文件上传是日常开发中经常遇到的,文件上传用的最多的当然是上传控件file了,一个form表单,其中有一点就是form表单的enctype属性设置为multipart/form-data,呵呵,这个在所 ...
- MVC 4 结合jquery.uploadify 上传实例
前言:由于今天公司源代码服务瘫痪,没法编写代码,利用这个有限的时间,做了一个小小的 基于MVC的图片上传demo,貌似近些年来MVC十分火爆,相关的demo也数不胜数,小弟就在这里打着MVC的旗子,狐 ...
- MVC&WebForm对照学习:文件上传(以图片为例)
原文 http://www.tuicool.com/articles/myM7fe 主题 HTMLMVC模式Asp.net 博客园::首页:: :: :: ::管理 5 Posts :: 0 ...
- 返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, .net 4.5 带来的更方便的异步操作
原文:返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, ...
- webform文件上传、图片水印、验证码
文件上传: 所用控件:FileUpload 使用时的思路: 1.判断用户是否选中了文件 FileUpload.FileName获取选中的文件名,判断长度,如果长度大于零就代表已经选择了文件 JS端:通 ...
- Webform 文件上传、 C#加图片水印 、 图片验证码
文件上传:要使用控件 - FileUpload 1.如何判断是否选中文件? FileUpload.FileName - 选中文件的文件名,如果长度不大于0,那么说明没选中任何文件 js - f.val ...
- webform文件的上传
文件上传 (控件:Fileupload) --文件映射:Server.MapPath(path)(相 对转绝对路径)--保存到指定路径:Fileupload.SaveAs 例子:点击按钮,获取上传图片 ...
- Webform(文件上传)
1.HTML编码: <input type="file" /> 2.控件:FileUpload 它是用来选择要上传的文件,还需要一个按钮来将选中的文件上传到服务器上 s ...
随机推荐
- PEAR安装
看到PEAR章节,提到安装PEAR需要go-pear.bat,我机器上的PHP(v7.0.8)目录下,并没有go-pear.bat这个文件,网上查了一遍,怎么说的都有,最后还是在官网上找到解决方案. ...
- struts2笔记(2)
<context-param> <param-name>pattern</param-name> <param-value>yyyy-MM-dd hh: ...
- Spring MVC 中 HandlerInterceptorAdapter的使用
一般情况下,对来自浏览器的请求的拦截,是利用Filter实现的,这种方式可以实现Bean预处理.后处理. Spring MVC的拦截器不仅可实现Filter的所有功能,还可以更精确的控制拦截精度. s ...
- 【mongo】mongoVUE使用
1.查询存在字段"test"的项 {"test":{$exists:true}} 2.在表中插入字段 {$set:{"}} 3.正则匹配 {" ...
- 【笔记】ztree的使用
引用的js和css: <!-- zTreeJS --><script type="text/javascript" src="jquery/jquery ...
- 移动端下拉刷新、加载更多插件dropload.js(基于jQuery/Zepto)[转]
使用方法 引用css和js <link rel="stylesheet" href="../dist/dropload.min.css"> < ...
- Hamilton四元数群的表示
Hamilton四元数群$Q_8=\mathbb H=\{\pm e,\pm i,\pm j,\pm k\}$满足如下运算法则: $e$为单位元且同号得正.异号得负,此外$e=i^2=j^2=k^2, ...
- $\mathscr{F}$类
$\mathscr{F}$类:在单位元盘$B(0,1)$中满足$$f(0)=0,f'(0)=1$$ 的双全纯函数的全体.
- python 爬虫(四)
爬遍整个网络 1 当我们访问整个网络的时候,我们不可避免的会访问不同的网站,但是不同的网站会有完全不同的结构和内容... 现在一步一步的构建访问整个网络的脚本 I 从一个网站开始,每一次都爬向不同的网 ...
- LINUX 根目录说明
linux目录:/bin bin是Binary的缩写.这个目录存放着最经常使用的命令./boot 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件./data / ...