asp.net 一般处理程序(ashx)如何多次接收上传文件(多文件批量上传)

asp.net 一般处理程序(ashx)如何多次接收上传文件(多文件批量上传),第1张

Like

this

比如前台有3个INPUT:

然后后台:

HttpFileCollection

files

=

HttpContext.Current.Request.Files

//这个files里面就是你上传文件的集合。遍历即可。

第一:建立Default.aspx页面

<html>

<head runat="server">

<title>ajax图片上传</title>

<script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>

<script src="js/jquery.form.js" type="text/javascript"></script>

<script type="text/javascript">

function upload(){

var path = document.getElementById("File1").value

var img = document.getElementById("img1")

if($.trim(path)==""){

alert("请选择要上传的文件")

return

}

$("#form1").ajaxSubmit({

success: function (str) {

if(str!=null &&str!="undefined"){

if (str == "1") {alert("上传成功")document.getElementById("img1").src="images/logo.jpg?"+new Date()/*上传后刷新图片*/}

else if(str=="2"){alert("只能上传jpg格式的图片")}

else if(str=="3"){alert("图片不能大于1M")}

else if(str=="4"){alert("请选择要上传的文件")}

else {alert(' *** 作失败!')}

}

else alert(' *** 作失败!')

},

error: function (error) {alert(error)},

url:'Handler.ashx', /*设置post提交到的页面*/

type: "post", /*设置表单以post方法提交*/

dataType: "text" /*设置返回值类型为文本*/

})

}

</script>

</head>

<body>

<form id="form1" runat="server">

<input id="File1" name="File1" type="file" />

<input id="iptUp" type="button" value="上传Logo" onclick="upload()"/>

<img id="img1" alt="网站Logo" src="images/weblogo.jpg" />

</form>

</body>

</html>

二、新建一个一般处理文件Handler.ashx

<%@ WebHandler Language="C#" Class="Handler" %>

using System

using System.Web

public class Handler : IHttpHandler {

public void ProcessRequest (HttpContext context) {

HttpPostedFile _upfile = context.Request.Files["File1"]

if (_upfile == null)

{

ResponseWriteEnd(context, "4")//请选择要上传的文件

}

else

{

string fileName = _upfile.FileName/*获取文件名: C:\Documents and Settings\Administrator\桌面\123.jpg*/

string suffix = fileName.Substring(fileName.LastIndexOf(".") + 1).ToLower()/*获取后缀名并转为小写: jpg*/

int bytes = _upfile.ContentLength//获取文件的字节大小

if (suffix != "jpg")

ResponseWriteEnd(context, "2")//只能上传JPG格式图片

if (bytes >1024 * 1024)

ResponseWriteEnd(context, "3")//图片不能大于1M

_upfile.SaveAs(HttpContext.Current.Server.MapPath("~/images/logo.jpg"))//保存图片

ResponseWriteEnd(context, "1")//上传成功

}

}

private void ResponseWriteEnd(HttpContext context, string msg)

{

context.Response.Write(msg)

context.Response.End()

}

public bool IsReusable {

get {

return false

}

}

}

您可以按照自己的需求来修改,希望对您有帮助!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12060864.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存