asp.net+ajaxfileupload.js 实现文件异步上传代码分享
更新时间:2014年11月27日 14:32:39 投稿:hebedich
本文给大家分享一段asp.net基于ajaxfileupload.js实现文件异步上传的代码,本人项目中已经在使用的代码,小伙伴们可以直接移植到自己的项目中去。
由于代码很简单,这里就闲话不多说了,直接上代码,小伙伴们自己研读代码就明白了。
前台代码:
复制代码 代码如下:
/*修改头像*/
//上传
function _sc() {
$(".ckfile").html("").css("color", "#535353");
$("#_userImgPath").val("");
var str = $("#file").val();
if ($.trim(str) == "") {
$(".ckfile").html("请选择文件。").css("color", "red");
return false;
}
else {
var postfix = str.substring(str.lastIndexOf(".") + 1).toUpperCase();
if (postfix == "JPG" || postfix == "JPEG" || postfix == "PNG" || postfix == "GIF" || postfix == "BMP") {
$('#showimg').attr('src', 'Images/loading.gif').attr("title", "上传中,请稍后…");
var path = "Upload/UserImg";
$.ajaxFileUpload({
url: '/Upload.aspx?path=Upload|UserImg&shape=100*100',
secureuri: false,
fileElementId: 'file',
dataType: 'text',
success: function (msg) {
if (msg.lastIndexOf(path) == -1) {
$(".ckfile").html(msg).css("color", "red");
}
else {
$('#showimg').attr('src', msg).attr("title", "我的头像");
$("#_userImgPath").val(msg);
}
}
});
} else {
$(".ckfile").html("文件格式错误。").css("color", "red");
return false;
}
}
}
后台代码:
复制代码 代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SS.Upload;
using WFC.Fenxiao;
namespace wanfangcheng
{
public partial class Upload : BasePage
{
//文件大小 1024 kb
private long size = 1024;
//文件类型
private string type = ".jpg|.jpeg|.png|.gif|.bmp";
//保存名称
string name = "";
//保存路径
private string path = @"Upload/UserImg";
//保存大小
private string shape = "100*100";
protected void Page_Load(object sender, EventArgs e)
{
HttpFileCollection files = Request.Files;
if (files != null && files.Count > 0)
{
name = BaseRole.Instance.UserId.ToString();
if (Request.QueryString["size"] != null)
{
size = Convert.ToInt32(Request.QueryString["size"]);
}
if (Request.QueryString["path"] != null)
{
path = Request.QueryString["path"].ToString().Trim().Replace('|', '/');
}
if (Request.QueryString["name"] != null)
{
name = Request.QueryString["name"].ToString().Trim();
}
if (Request.QueryString["shape"] != null)
{
shape = Request.QueryString["shape"].ToString().Trim();
}
uploadMethod(files);
}
}
/// <summary>
/// 上传图片
/// </summary>
/// <param name="hc"></param>
public void uploadMethod(HttpFileCollection hc)
{
HttpPostedFile _file = hc[0];
//文件大小
long _size = _file.ContentLength;
if (_size <= 0)
{
Response.Write("文件错误。");
Response.End();
return;
}
if (size * 1024 < _size)
{
Response.Write("文件过大,最大限制为" + size + "KB。");
Response.End();
return;
}
//文件名
string _name = _file.FileName;
//文件格式
string _tp = System.IO.Path.GetExtension(_name).ToLower();
if (type.IndexOf(_tp) == -1)
{
Response.Write("文件格式错误。");
Response.End();
return;
}
//保存路径
string _path = HttpContext.Current.Server.MapPath(path) + @"/" + name + _tp;
try
{
int w = Convert.ToInt32(shape.Split('*')[0]);
int h = Convert.ToInt32(shape.Split('*')[1]);
ImageHelper.CutForCustom(_file, _path, w, h, 50);
Response.Write(path + @"/" + name + _tp);
}
catch (Exception)
{
Response.Write("哎呦,出错了。");
Response.End();
}
}
}
}
是不是很实用,也很简单易懂呢,以上是自己项目中使用的代码,小伙伴们如果发现有问题的地方,还请告之。谢谢
相关文章
Asp.net静态方法之Grid转DataTable方法实现步骤
GridView绑定DataTable后,如何获取GridView绑定后显示的值,在项目需求的背景下写了一个静态方法,经过在项目中的使用,bug的修复,较为稳定2013-04-04.NET Core使用FluentEmail发送邮件的示例代码
这篇文章主要介绍了.NET Core使用FluentEmail发送邮件的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-10-10DataGridView中绑定DataTable数据及相关操作实现代码
DataGridView中绑定DataTable数据及相关操作2010-02-02ASP.NET插件uploadify批量上传文件完整使用教程
这篇文章主要为大家详细介绍了ASP.NET插件uploadify批量上传文件完整使用教程,感兴趣的小伙伴们可以参考一下2016-07-07MVC+EasyUI+三层新闻网站建立 分页查询数据功能(七)
这篇文章主要为大家详细介绍了MVC+EasyUI+三层新闻网站建立的第七篇,教大家如何分页查询出数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-07-07国产化中的 .NET Core 操作达梦数据库DM8的两种方式(操作详解)
这篇文章主要介绍了国产化之 .NET Core 操作达梦数据库DM8的两种方式,这里提供两种方式是传统的DbHelperSQL方式和Dapper 方式,每种方式给大家介绍的非常详细,需要的朋友可以参考下2022-04-04js获取Treeview选中的节点(C#选中CheckBox项)
方法网上有很多,试了一下都有瑕疵,于是设置断点调试,各个属性查找有用的字段,终于找到,接下来与大家分享解决方法,需要了解的朋友可以参考下2012-12-12
最新评论