文件上传:

需要使用控件-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 - 4, 4);
        var name1 = fileName.substr(fileName.length - 5, 5);
        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="40000" />

</system.web>

注意!不要扩的太多,否则多人同时上传大文件会造成服务器内存不足!

限制大小

C#端限制:

if (FileUpload1.PostedFile.ContentLength>(4*1024*1024))

{             Label1.Text = "文件长度过长!!!";

      return;         }

JS端限制:   var f = document.getElementById("FileUpload1");

if (f.files[0].size > (4 * 1024 * 1024))

{             alert("文件过大!!!");

      return false;         }

aspx端:两段js代码

<%@ 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,.txt"/>
<asp:Button ID="Button1" runat="server" Text="上传" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
<script type="text/javascript">
document.getElementById("Button1").onclick = function ()
{ var fn = document.getElementById("FileUpload1").value; var name = fn.substr(fn.length - , );
var name1 = fn.substr(fn.length-,);
if (name != ".jpg" && name != ".png" && name != ".txt" && name1 != ".jpeg")
{
alert("请选择正确的文件!你要找事儿啊??");
return false;
} var f = document.getElementById("FileUpload1");
if (f.files[].size > ( * * )) {
alert("文件过大");
return false;
}
} </script>

webconfig里:用于设定允许上传的文件大小

<configuration>

    <system.web>
<compilation debug="false" targetFramework="4.0" />
<httpRuntime maxRequestLength=""/> </system.web> </configuration>

cs里:

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 = "upload/"+DateTime.Now.ToString("yyyyMMddhhmmssms")+FileUpload1.FileName;//相对路径,加时间防止重名
string epath = Server.MapPath(path);//转换为绝对路径
Label1.Text = epath;
FileUpload1.SaveAs(epath);
}
}

限制文件上传类型:accept

<asp:FileUpload ID="FileUpload1" accept=".jpg,.jpeg,.png" runat="server" />

上传文件fileupload的更多相关文章

  1. WebForm上传文件FileUpload

    //Button1的点击事件 //FileUpload1.FileName为所传文件的名字. //以DateTime.Now.ToString("yyyyMMddhhmmssms" ...

  2. .JavaWeb文件上传和FileUpload组件使用

    .JavaWeb文件上传 1.自定义上传 文件上传时的表单设计要符合文件提交的方式: 1.提交方式:post 2.表单中有文件上传的表单项:<input type="file" ...

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

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

  4. Extjs 使用fileupload插件上传文件 带进度条显示

    一.首先我们看看官方给出的插件的解释: 一个文件上传表单项具有自定义的样式,并且可以控制按钮的文本和 像文本表单的空文本类似的其他特性. 它使用一个隐藏的文件输入元素,并在用户选择文件后 在form提 ...

  5. 20160620001 FileUpload控件获取上传文件的路径

    参考地址: http://bbs.csdn.net/topics/350051517 —————————————————————————————— 用js实现 <%@ Page Language ...

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

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

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

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

  8. 上传文件出错:org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. Stream ended unexpectedly

    最近做一个web项目中有上传文件的功能,已经写出并在本地和部署到服务器上测试了好几个文件上传都没问题(我用的是tomcat).后来又上传了一个700多K的文件(前边的都是不足600K的,并且这个wor ...

  9. 文件上传(FileUpload控件)

    asp.net 文件上传,大文件上传.   新建一个asp.net页面,在工具栏里拖入 FileUpload 上传控件.一个按钮 Button  !    !     ! 进入Button事件 //- ...

随机推荐

  1. 搭建S3C6410开发板的测试环境

      因为ARM架构的开发板可基于X86架构的PC在CPU指令以及二进制上都有所不同,而且如果linux驱动需要访问硬件,这些硬件很难在PC上模拟,所以就需要我们在带有这些硬件的开发板上进行调试和测试. ...

  2. Android xml资源文件中@、@android:type、@*、?、@+含义和区别

    一.@代表引用资源 1.引用自定义资源.格式:@[package:]type/name android:text="@string/hello" 2.引用系统资源.格式:@andr ...

  3. html5,增加flash插件

    <embed src="2.swf" type="" width="500" height="" >< ...

  4. Entity Framework7 入门之全功能.NET版本下使用EF7(含源码)另附数据迁移常见错误处理

    Entity Framework7 入门之全功能.NET(Console, WinForms, WPF等)使用EF7 昨天,我们介绍了EF的新特性和开发计划,如果你还不了解,请移步 Entity Fr ...

  5. Nop源码分析三

    程序的初始化工作和Ioc工作已经做完,nop默认引擎已经初始化. 下面在回到global文件的启动方法Application_Start()中, 1,继续分析下面的代码: var dependency ...

  6. Spring Batch学习笔记三:JobRepository

    此系列博客皆为学习Spring Batch时的一些笔记: Spring Batch Job在运行时有很多元数据,这些元数据一般会被保存在内存或者数据库中,由于Spring Batch在默认配置是使用H ...

  7. >Python下使用subprocess中文乱码的解决方案

    # -*- coding: CP936 -*- import subprocess cmd="cmd.exe" begin=101 end=110 while begin<e ...

  8. ASP.NET MVC异常处理

    ASP.NET MVC异常处理方案 如何保留异常前填写表单的数据 ASP.NET MVC中的统一化自定义异常处理 MVC过滤器详解 MVC过滤器使用案例:统一处理异常顺道精简代码 ASP.NET MV ...

  9. c#控制台調用SSIS包互传值

    有时候不仅仅需要在内部执行package包,多数情况下,是需要在外部进行调用,比如,需要一个批处理或者控制台程序进行外部调用SSIS包,而往往这个包所配置的连接字符串是经过加密处理的,所以当外部调用S ...

  10. python 编辑文件时路径问题解决方法:文件或者目录不存在、文件编辑后无法保存等(以编辑xml文件为例)

    1.获取工程所在根路径:根路径=os.path.dirname(os.path.abspath('__file__')) 2.将获取的根路径和相对路径组合:组合路径=os.path.join(根路径, ...