文件上传

Posted zhangdandan1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件上传相关的知识,希望对你有一定的参考价值。


1、控件:FileUpload

它是用来选择要上传的文件,还需要一个按钮来将选中的文件上传到服务器上

(1)文件保留原有名称和后缀
string path = "Uploads/" + FileUpload1.FileName;//相对路径

 string endPath = Server.MapPath(path);//路径映射为绝对路径

 FileUpload1.SaveAs(endPath);//上传

(2)防止重名,或是同一时间多个人同时上传同一名称文件
string path = "Uploads/" + DateTime.Now.ToString("yyyyMMddhhssmmms") + Request.Cookies["ures"].Value + FileUpload1.FileName;

(3)可以上传大文件,默认是4MB,4096KB

扩容
Web.config中的system.web标记中
<httpRuntime maxRequestLength="70960" />

注意!!!!
不要扩的太大,因为如果多人同时上传大文件,可能会造成服务器内存溢出,导致服务器崩溃。

(4)超过上传要求的大小,阻止上传并提示文件过大
只能用JS限制

document.getElementById("Button1").onclick = function () {
        var fi1 = document.getElementById("FileUpload1");
        if (fi1.value.length <= 0) {
            alert(请选择要上传的文件!);
            return false;
        }
        else {
            if (fi1.files[0].size > (1024 * 1024 * 10))
            {
                alert(文件过大,不允许上传!);
                return false;
            }
        }
    };

(5)限制可以选择的文件类型

控件的属性
accept=".jpg,.jpeg,.png"

(6)显示上传的图片

后台

 Image1.ImageUrl = path;

前台

 <img src=‘<%#Eval("pic") %>‘ />//pic路径

以上是关于文件上传的主要内容,如果未能解决你的问题,请参考以下文章

将存储在内存中的文件上传到s3

JS创建文件并上传服务器

ajaxFileUpload上传带参数文件及JS验证文件大小

android的自带的httpClient 怎么上传文件

大文件上传下载实现思路,分片断点续传代码实现,以及webUpload组件

如何通过 HttpWebRequest 上传文件?