由于代码很简单,这里就闲话不多说了,直接上代码,小伙伴们自己研读代码就明白了。
前台代码:
/*修改头像*/
//上传
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();
}
}
}
}
是不是很实用,也很简单易懂呢,以上是自己项目中使用的代码,小伙伴们如果发现有问题的地方,还请告之。谢谢