.net文件上传的方法

前台js代码 导入jQuery上传插件Uploadify 3.2

 1 $("#photofile").uploadify({//上传电子相片
 2             swf: ‘/Theme/NewBlueVacation/images/uploadify.swf‘,
 3             uploader: ‘/ExtendClass/UploadFiles.ashx‘,   //后台处理文件的路径
 4             width: 85,
 5             height: 21,
 6             buttonText: ‘    ‘,//上传按钮文字
 7             fileSizeLimit: ‘20KB‘,
 8             multi: false,
 9             buttonImage: "/Theme/NewBlueVacation/images/ManualRecharge_tubiao06.png",//上传按钮路径
10             fileTypeExts: ‘*.jpg‘,//;*.png;*.gif;*.bmp;*.doc;*.docx
11             fileTypeDesc: ‘图片文件‘,
12             onSelectError: function (file, errorCode, errorMsg) {
13                 switch (errorCode) {
14                     case -100:
15                         layer.alert("上传的文件数量已经超出系统限制的" + $(‘#photofile‘).uploadify(‘settings‘, ‘queueSizeLimit‘) + "个文件!");
16                         break;
17                     case -110:
18                         layer.alert("文件 [" + file.name + "] 大小超出系统限制的" + $(‘#photofile‘).uploadify(‘settings‘, ‘fileSizeLimit‘) + "大小!");
19                         break;
20                     case -120:
21                         layer.alert("文件 [" + file.name + "] 大小异常!");
22                         break;
23                     case -130:
24                         layer.alert("文件 [" + file.name + "] 类型不正确!");
25                         break;
26                 }
27             },
28             onUploadSuccess: function (file, data, response) {
29                 if (data == "0") {
30                     $.messager.alert("提示", "上传失败!", ‘error‘);
31                 }
32                 else {
33                     $("<img/>").attr("src", data).load(function () {
34                         /*
35                           如果要获取图片的真实的宽度和高度有三点必须注意
36                           1、需要创建一个image对象:如这里的$("<img/>")
37                           2、指定图片的src路径
38                           3、一定要在图片加载完成后执行如.load()函数里执行
39                         */
40                         realWidth = this.width;
41                         realHeight = this.height;
42                         //如果真实的宽度大于浏览器的宽度就按照100%显示
43                         if (realWidth != 358) {
44                             this.width = 358;
45                         }
46                         else {//如果小于浏览器的宽度按照原尺寸显示
47                             //$(img).css("width", realWidth + ‘px‘).css("height", realHeight + ‘px‘);
48                         }
49                         if (realHeight != 441)
50                         {
51                             this.height=441;
52                         }
53                     });
54                     //$(‘#photopic‘).attr(‘src‘, data);
55                     $(‘#photofilename‘).val(data);
56                     $(‘#phototext‘).val(file.name);
57                 }
58             }
59         });

js代码

后台C#代码

 1  public void ProcessRequest(HttpContext context)
 2         {
 3             context.Response.ContentType = "text/plain";
 4             HttpPostedFile file = context.Request.Files["Filedata"];
 5             string Dir = "Upload";
 6             string uploadPath = "\\" + Dir + "\\TravelProduct\\" + DateTime.Now.ToString("yyyyMMdd") + "\\";
 7             string returnPath = uploadPath.Replace("\\", "/");
 8             uploadPath = HttpContext.Current.Server.MapPath(uploadPath);
 9             if (file != null)
10             {
11                 if (!Directory.Exists(uploadPath))
12                 {
13                     Directory.CreateDirectory(uploadPath);
14                 }
15                 string fileType = Tool.MakeRandomNumber(8, 1) + Tool.GetPicType(file.FileName);
16                 file.SaveAs(uploadPath + fileType);
17                 //下面这句代码缺少的话,上传成功后上传队列的显示不会自动消失
18                 context.Response.Write(returnPath + fileType);
19             }
20             else
21             {
22                 context.Response.Write("0");
23             }
24         }
25 #region 取指定文件的后缀名
26         /// <summary>
27         /// 取指定文件的后缀名
28         /// </summary>
29         /// <param name="PicName">文件名或文件路径</param>
30         /// <returns></returns>
31         public static string GetPicType(string PicName)
32         {
33             return Path.GetExtension(PicName);
34         }
35         #endregion

上传文件的后台代码

时间: 2024-11-05 14:56:10

.net文件上传的方法的相关文章

selenium之 文件上传所有方法整理总结

本文转载"灰蓝"的原创博客.http://blog.csdn.net/huilan_same/article/details/52439546 文件上传是所有UI自动化测试都要面对的一个头疼问题,今天博主在这里给大家分享下自己处理文件上传的经验,希望能够帮助到广大被文件上传坑住的seleniumer. 首先,我们要区分出上传按钮的种类,大体上可以分为两种,一种是input框,另外一种就比较复杂,通过js.flash等实现,标签非input 我们分别对这两种进行分析: 1.input标签

IIS中的大文件上传问题解决方法

IIS出于安全考虑限制了大文件的上传,而网上百度到的大部分解决方法都是用一个管理员权限的记事本打开一个文件修改参数,但是我发现里面根本没有网上所说的那些参数,最后自己找到了修改发布文件的webconfig的方法解决的IIS对大文件上传的限制. 首先在system.web中加入以下代码 [csharp] view plain copy <httpRuntime maxRequestLength="2097151"//最大上传长度 useFullyQualifiedRedirectU

文件上传+绕过方法+菜刀的基本用法

关于原理方面就不加赘述了,可以Google一下,我贴一下几百年前我的理解:原理:上传一个脚本(jsp,asp,php),然后就得到机子的shell (哇,感觉很粗糙) 文件上传漏洞的几种常见的姿势: 1.js前端验证2.mime3.后缀名4.修改字母大小写(同第一种,就是把PHP几种大小写试一试 还有可能是phtml)5.00截断6.上传含有一句话的图片 最简单的:先直接上传一个php文件,看是否正确 1.js前端验证: 一般都是在网页上写一段JavaScript脚本,校验上传文件的后缀名,有白

ajaxFileUpload.js插件支持多文件上传的方法

前提条件:ajaxFileUpload.js插件多文件上传步骤:1.修改源码,(源码只支持单个文件的上传):复制代码 代码如下: //修改前代码------- //var oldElement = jQuery('#' + fileElementId); //var newElement = jQuery(oldElement).clone(); //jQuery(oldElement).attr('id', fileId); //jQuery(oldElement).before(newEle

el-upload用form的方式多文件上传的方法

使用el-upload组件遇到的坑. 1.第一种感觉最好,首先多个文件是一个http请求,另外还可以传除文件外其他的参数,但是没有进度条了. 发送请求的部分没有注释的部分是我分装了调后台的api,注释的部分是直接调. 注意如果使用自定义提交http-request,则on-success和on-error这两个钩子函数会不起作用,另外点击事件submitUpload中的this.$refs.uploadFiles.submit();是必须的,个人感觉是先将所有的文件给el-form处理, 我发先

前端文件上传读取方法(头像上传)

具体说明代码呈现,感兴趣的可以自行运行查看效果: <!doctype html> <html> <head> <meta charset="utf-8"> <title></title> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1

PHP三种方法实现多文件上传

今天一个网介绍三种多文件上传的方法,前两种都是直接遍历三维超全局数组$_FILES,最后一种是先定义一个单文件上传函数,再循环调用该函数,完成多文件的上传. 方法一:当多文件上传表单中多个上传文件的name属性为“pic[]”形式时,也即表单为这种形式. HTML代码: <form action="" method="post"enctype="multipart/form-data"> <input type="hi

thinkphp文件上传

TP框架中的文件上传类似于php原生的文件上传方法,只不过TP框架将文件上传的方法封装成类来使用 1.首先我们在控制器类文件中写出一个上传的显示页面的方法 public function shangchuan(){ $this->show(); } 同时我们在相对应的视图文件夹view中的创建出前端显示页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o

带进度条的文件上传

Ajax技术——带进度条的文件上传 1.概述 在实际的Web应该开发或网站开发过程中,经常需要实现文件上传的功能.在文件上传过程中,经常需要用户进行长时间的等待,为了让用户及时了解上传进度,可以在上传文件的同时,显示文件的上传进度条.运行本实例,如图1所示,访问文件上传页面,单击“浏览”按钮选择要上传的文件,注意文件不能超过50MB,否则系统将给出错误提示.选择完要上传的文件后,单击“提交”按钮,将会上传文件并显示上传进度. 2.技术要点 主要是应用开源的Common-FileUpload组件来