一.上传扫描件到服务器,自定义创建文件夹(如果存在该文件夹,则无需创建),并判断格式以及文件大小进行保存:

首先创建一个保存按钮事件:

     protected void btnSave_Click(object sender, EventArgs e)
{
try
{#region 增值税专用发票扫描件 验证
if (UploadFile1.PostedFile == null || UploadFile1.PostedFile.ContentLength <= )
{
tools.showMsg("请选择“增值税专用发票”扫描件信息!", true, null);
this.UploadFile1.Focus();
return;
}
if (UploadFile1.PostedFile.ContentLength > * )
{
tools.showMsg("“增值税专用发票”扫描件大于250K,不能上传!", true, null);
this.UploadFile1.Focus();
return;
} #endregion #region 上传扫描件 string strErrMsg = "";
string conType = this.txtCorpName.Value; //获取将要存储的文件夹名称
bool bl = UploadFile(UploadFile1,conType, out strErrMsg); //tb_corpName.Text.Trim()
if (!bl)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('“增值税专用发票”扫描件上传失败')</script>");
this.UploadFile1.Focus();
return;
}
#endregion }
catch(Exception ex)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('"+ex.Message+"')</script>");
}
}

调用 UploadFile 方法:

     private bool UploadFile(HtmlInputFile inputfile,string conType, out string strErrMsg)       //传入三个参数:file控件,文件夹名称,错误信息
{ strErrMsg = "";
string strUploadFileName = "";
try
{
if (inputfile.PostedFile != null)
{
if (inputfile.PostedFile.ContentLength > ) //判断是否选中文件
{
string strUploadFolder = Server.MapPath("..\\UploadAffix\\" + conType.ToString()); //获取将要创建的文件夹名称 if (!Directory.Exists(strUploadFolder)) //判断是否已创建 (如果未创建,则进行创建)
{
Directory.CreateDirectory(strUploadFolder);
} string strExtName = Path.GetExtension(inputfile.PostedFile.FileName); //判断上传文件的类型
if (strExtName.ToUpper() != ".JPG" && strExtName.ToUpper() != ".JPEG")
{
strErrMsg = "请选择扫描件文件(*.JPG,*.JPEG)!";
return false;
} strUploadFileName = Server.MapPath(@"..\");
string strGUID = Guid.NewGuid().ToString("B"); //生成唯一的标识符
strUploadFileName += @"UploadAffix" + @"\" + conType + @"\" + strGUID;
strUploadFileName += strExtName;
inputfile.PostedFile.SaveAs(strUploadFileName); jpgStrPath = "/UploadAffix/" + conType + "/" + strGUID + strExtName; //获取保存在文件夹下的路径
return true;
}
else
{
strErrMsg = "请选择要上传的扫描件文件!";
return false;
}
}
else
{
return false;
}
}
catch (Exception ex)
{
strErrMsg = "上传扫描件文件出现问题:" + ex.Message;
return false;
}
}

  二.通过FileUploadButton按钮上传文件,实现将文件保存到服务器。

后台代码:

  protected void FileUploadButton_Click(object sender, EventArgs e)
{
bool fileOk = false; string fileName = this.MyFileUpload.FileName; //获取上传的文件名 int fileSize = MyFileUpload.PostedFile.ContentLength; //获取上传文件大小(25600) string path = Server.MapPath("~\\UploadFiles\\"); //指定文件路径,是项目下的一个文件夹;~表示当前网页所在的文件夹 if (MyFileUpload.HasFile) //判断是否选中文件
{
string fileExtension = System.IO.Path.GetExtension(MyFileUpload.FileName).ToLower(); //得到文件后缀 string[] allowedExtensions = { ".jpg", ".jpeg" }; //允许的得到的后缀 for (int i = ; i < allowedExtensions.Length; i++) //看包含的文件是否是被允许的文件的后缀
{
if (fileExtension == allowedExtensions[i])
{
fileOk = true;
}
}
if (!fileOk) //判断格式是否为jpg或jpeg
{
Response.Write("<script>alert('只能上传jpeg,jpg图象文件!');</script>");
}
if (fileSize > ) //如果文件大于250K 则提示不能上传
{
Response.Write("<script>alert('文件最大为250KB!');</script>");
return;
}
if (fileOk)
{
try
{
string newName = fileName+DateTime.Now.ToString("yyyyMMddhhmmss");//新文件名
MyFileUpload.PostedFile.SaveAs(path + newName);  //文件另存在服务器的指定目录下
Response.Write("<script>alert('文件上传成功!');</script>");
}
catch(Exception ee)
{
Response.Write("<script>alert('"+ee.Message+"');</script>");
}
}
}
else {
Response.Write("<script>alert('请选择将要上传的文件!');</script>");
} }

前台代码:

<asp:FileUpload ID="MyFileUpload" runat="server" style="width:303px;"  />
<asp:Button ID="FileUploadButton" runat="server" Text="上传" OnClick="FileUploadButton_Click" />

.NET FileUpLoad上传文件的更多相关文章

  1. FileUpload 上传文件,并实现c#使用Renci.SshNet.dll实现SFTP文件传输

    fileupload上传文件和jquery的uplodify控件使用方法类似,对服务器控件不是很熟悉,记录一下. 主要是记录新接触的sftp文件上传.服务器环境下使用freesshd搭建好环境后,wi ...

  2. ASP.NET使用FileUpload上传文件

    前台代码: <asp:FileUpload ID="fuKeleyi" runat="server" /> <asp:Button ID=&q ...

  3. 解决COS、FileUpload上传文件时中文文件名乱码问题

    方法: MultipartParser mp = new MultipartParser(request, 10*1024*1024); mp.setEncoding("GBK") ...

  4. SpringMVC使用FileUpload上传文件

    进口FileUpload和common-io的Jar包 注意:1.Struts2其它方法需要使用的:struts2过滤,将改变reqeust类型,由HttpServletRequest成为MultiP ...

  5. JSP/Serlet 使用fileupload上传文件

    需要引用的jar commons-fileupload-1.3.1.jar commons-io-2.2.jar index.jsp <body> <center> <h ...

  6. JSP Servlet学习笔记——使用fileupload上传文件

    关键代码如下: index.jsp <body> <center> <h3>文件上传</h3> <font color="red&quo ...

  7. 使用UpdatePanel时FileUpload失效的问题!【FileUpload上传文件失败】

    1.使用UpdatePanel后,FileUpload的HasFile始终为false,无论你是否选中了上传文件! 方案一:设置ScriptManager 的EnablePartialRenderin ...

  8. asp.net FileUpload上传文件夹并检测所有子文件

    1.在FileUpload控件添加一个属性 webkitdirectory=""就可以上传文件夹了 <asp:FileUpload ID="FileUpload1& ...

  9. fileupload上传文件时带参数

    var userID = ""; $('#picture').fileupload({ url: "http://localhost:35708/Handler/File ...

随机推荐

  1. Cobbler安装CentOS7系统时报错 What do you want do now?

    问题的根源: 在cobbler服务主机中执行了  createrepo --update  /var/www/cobbler/ks_mirror/CentOS-7-x86_64/ 导致的. cobbl ...

  2. 算法练习LeetCode初级算法之数组

    删除数组中的重复项 官方解答: 旋转数组 存在重复元素 只出现一次的数     官方解答:  同一个字符进行两次异或运算就会回到原来的值 两个数组的交集 II import java.util.Arr ...

  3. Python开发——数据结构【深浅拷贝】

    浅拷贝 # 浅拷贝只copy一层 s = [3,'Lucy',4,[1,2]] s1 = s.copy() 深拷贝 # 深拷贝——克隆一分 import copy s = [3,'Lucy',4,[1 ...

  4. JQuery复习心得

    this === event.currentTarget    event.stopPropagation  阻止冒泡  http:www.css88.com JQ和原生JS入口函数的区别: 书写个数 ...

  5. CMD命令启动和关闭SQL服务

    1.开启:net start mssqlserver 2.关闭:net stop mssqlserver

  6. Python中添加中文注释报错SyntaxError: Non-UTF-8 code starting with '\xc1'

    问题:在文本编辑器中编辑Python文件时添加中文注释,运行python文件时报错.SyntaxError: Non-UTF-8 code starting with '\xc1' 解决方法:在文本开 ...

  7. SpringMVC学习 十三 拦截器栈

    拦截器栈:就是有多个拦截器同时拦截相同的控制器(controller)请求,这写拦截器就构成了拦截器栈. 栈的特点是先进后出,在拦截器栈中也是如此,如果先执行了preHandle方法,也就是意味着先进 ...

  8. 《Linux就该这么学》第六天课程

    每个人都有梦想,同时也有理想,当一个人的梦想与理想相同时会发生什么? 搜集了一些对新手有用的表格 原创地址:https://www.linuxprobe.com/chapter-05.html use ...

  9. shell解析my.cnf配置文件

    my.cnf配置格式如下 vi my.cnf[client]port=3306socket=/tmp/mysql.socket [mysqld]port=3306server-id=1datadir= ...

  10. Navicat for MYSQL 数据库手动同步方法

    Navicat for MYSQL 数据库手动同步方法     数据库同步有两种类型,一是结构同步,一般是数据库表增删,或是表中字段的增删:二是数据同步,即是表里面的记录的增删. 现假设我要让本地数据 ...