文件上传
form表单形式,页面会刷新
upload.aspx 只有前台:
<body>
<form enctype="multipart/form-data" id="form1" action="accept.aspx" method="post">
<div style="width: 100%">
<input type="file" id="hidFilePath" runat="server" />
<input type="file" id="File1" runat="server" />
<input type="file" id="File2" runat="server" />
<input id="upBtn" type="submit" class="clearBtn" style="display: block;" value="上传图片"
/>
</div>
</form>
</body>
accept.aspx
public void Page_Load(object sender, EventArgs e)
{
//HttpContext.Current.Request.QueryString["nm"].ToString()
string mz = "ss";
string uperr = "";
HttpFileCollection files = HttpContext.Current.Request.Files;
if (files.Count > 0)
{ uperr = upSingleFile(files[0], mz); }
else { uperr = "ok"; }
HttpContext.Current.Session["upInfo"] = uperr;
Response.Write(uperr);
}
//上传文件
public string upSingleFile(HttpPostedFile file, String theFileName)
{
HttpFileCollection files = HttpContext.Current.Request.Files;
file = files[0];
theFileName = file.FileName;
// FileStream fs_read = new FileStream(file.InputStream, FileMode.Open);
StreamReader sr_read = new StreamReader(file.InputStream);
string restOfStream = sr_read.ReadToEnd();
sr_read.Close();
string infos = "";
bool fileOK = false;
string fileName, fileExtension;
fileName = System.IO.Path.GetFileName(file.FileName);
if (fileName != "")
{
if (file.ContentLength >= 1024 * 1024 * 2)
{
infos = "上传文件太大,目前仅支持2M以内的图片上传!";
}
else
{
fileExtension = System.IO.Path.GetExtension(fileName).ToLower();
String[] allowedExtensions = { ".jpg", ".jpeg", ".gif", ".bmp", ".png", ".icon" };
for (int i = 0; i < allowedExtensions.Length; i++)
{
if (fileExtension == allowedExtensions[i])
{
fileOK = true;
break;
}
}
if (!fileOK)
{
infos = "不支持上传此类型文件!目前支持的图片格式有:jpg|jpeg|gif|bmp|png|icon";
}
else
{
file.SaveAs(System.Web.HttpContext.Current.Request.MapPath("~/books/BookPic/") + theFileName);
infos = "ok" + theFileName;
}
}
}
else
{
infos = "没有读取到文件!";
}
return infos;
}
无刷新上传
<head id="Head1" runat="server">
<title>Uploadify</title>
<script src="jquery-1.7.1.js" type="text/javascript"></script>
<%--<script type="text/javascript" src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script>--%>
<script src="ajaxfileupload.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$(":button").click(function () {
ajaxFileUpload();
})
})
function ajaxFileUpload() {
$.ajaxFileUpload
(
{
url: 'upload.aspx', //用于文件上传的服务器端请求地址
secureuri: false, //是否需要安全协议,一般设置为false
fileElementId: 'file1', //文件上传域的ID
dataType: 'json', //返回值类型 一般设置为json
success: function (data, status) //服务器成功响应处理函数
{
$("#img1").attr("src", data.imgurl);
if (typeof (data.error) != 'undefined') {
if (data.error != '') {
alert(data.error);
} else {
alert(data.msg);
}
}
},
error: function (data, status, e)//服务器响应失败处理函数
{
alert(e);
}
}
)
return false;
}
</script>
</head>
<body>
<p>
<input type="file" id="file1" name="file" /></p>
<input type="button" value="上传" />
<p>
<img id="img1" alt="上传成功啦" src="" /></p>
</body>
upload.aspx
protected void Page_Load(object sender, EventArgs e)
{
HttpFileCollection files = Request.Files;
string msg = string.Empty;
string error = string.Empty;
string imgurl;
if (files.Count > 0)
{
files[0].SaveAs(Server.MapPath("/") + System.IO.Path.GetFileName(files[0].FileName));
msg = " 成功! 文件大小为:" + files[0].ContentLength;
imgurl = "/" + files[0].FileName;
string res = "{ error:'" + error + "', msg:'" + msg + "',imgurl:'" + imgurl + "'}";
Response.Write(res);
Response.End();
}
}
浙公网安备 33010602011771号