asp.net+ajaxfileupload.js 實現(xiàn)文件異步上傳代碼分享
由于代碼很簡單,這里就閑話不多說了,直接上代碼,小伙伴們自己研讀代碼就明白了。
前臺代碼:
/*修改頭像*/
//上傳
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();
}
}
}
}
是不是很實用,也很簡單易懂呢,以上是自己項目中使用的代碼,小伙伴們?nèi)绻l(fā)現(xiàn)有問題的地方,還請告之。謝謝
相關文章
Asp.net靜態(tài)方法之Grid轉(zhuǎn)DataTable方法實現(xiàn)步驟
GridView綁定DataTable后,如何獲取GridView綁定后顯示的值,在項目需求的背景下寫了一個靜態(tài)方法,經(jīng)過在項目中的使用,bug的修復,較為穩(wěn)定2013-04-04.NET Core使用FluentEmail發(fā)送郵件的示例代碼
這篇文章主要介紹了.NET Core使用FluentEmail發(fā)送郵件的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10DataGridView中綁定DataTable數(shù)據(jù)及相關操作實現(xiàn)代碼
DataGridView中綁定DataTable數(shù)據(jù)及相關操作2010-02-02ASP.NET插件uploadify批量上傳文件完整使用教程
這篇文章主要為大家詳細介紹了ASP.NET插件uploadify批量上傳文件完整使用教程,感興趣的小伙伴們可以參考一下2016-07-07MVC+EasyUI+三層新聞網(wǎng)站建立 分頁查詢數(shù)據(jù)功能(七)
這篇文章主要為大家詳細介紹了MVC+EasyUI+三層新聞網(wǎng)站建立的第七篇,教大家如何分頁查詢出數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07國產(chǎn)化中的?.NET?Core?操作達夢數(shù)據(jù)庫DM8的兩種方式(操作詳解)
這篇文章主要介紹了國產(chǎn)化之?.NET?Core?操作達夢數(shù)據(jù)庫DM8的兩種方式,這里提供兩種方式是傳統(tǒng)的DbHelperSQL方式和Dapper?方式,每種方式給大家介紹的非常詳細,需要的朋友可以參考下2022-04-04js獲取Treeview選中的節(jié)點(C#選中CheckBox項)
方法網(wǎng)上有很多,試了一下都有瑕疵,于是設置斷點調(diào)試,各個屬性查找有用的字段,終于找到,接下來與大家分享解決方法,需要了解的朋友可以參考下2012-12-12