文件上传:

需要使用控件-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. 与资源库同步时,我的svn报错 Previous operation has not finished; run 'cleanup' if it was interrupted

    解决办法:选择你的项目,右键,小组(Team),刷新或清理(Refresh or Clean)即可.

  2. 找出数组中从未出现的最小正整数java实现

    /** * 找出未出现的最小正整数 * @param A * @param n * @date 2016-10-7 * @author shaobn */ public static int find ...

  3. ubuntu command

    uninstall software: sudo apt-get purge openjdk*

  4. python学习笔记系列----(八)python常用的标准库

    终于学到了python手册的最后一部分:常用标准库.这部分内容主要就是介绍了一些基础的常用的基础库,可以大概了解下,在以后真正使用的时候也能想起来再拿出来用. 8.1 操作系统接口模块:OS OS模块 ...

  5. MQ通道配置

    转自:http://www.cnblogs.com/me115/p/3471788.html MQ通道配置 通道是用来连接两个队列管理器的: 在单个队列管理器内读写消息不需要建立通道:但在一个队列管理 ...

  6. JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结

    我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...

  7. nodejs ejs 请求路径和静态资源文件路径

    /XXX 会跳转到  http://域名:端口/XXX ./XXX  会跳转到 当前路径+/XXX XXX(../XXX) 会跳转到 当前路径父级+XXX

  8. 通过shell命令编辑xml文件--sed工具

    1.修改如下xml文件的value值:

  9. Thinkphp批量添加数据

    //新建规格public function construction(){ $id = $_GET['id'];//dump($id);die; $this->assign('id', $id) ...

  10. html table表头斜线

    关于htnl的table的表头斜线,符合表格设计规范,<style> .biaotou { line-height: 5px; text-align: left; } .biaotou { ...