91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

自己動手打造ajax圖片上傳的方法教程

發布時間:2021-09-30 14:19:20 來源:億速云 閱讀:120 作者:iii 欄目:web開發

這篇文章主要介紹“自己動手打造ajax圖片上傳的方法教程”,在日常操作中,相信很多人在自己動手打造ajax圖片上傳的方法教程問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”自己動手打造ajax圖片上傳的方法教程”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

方法1,僅使用jquery代碼,不用第三方插件。代碼如下

<p> 
<label>上傳圖片</label> 
<input class="ke-input-text" type="text" id="url" value="" readonly="readonly" /> 
<input type="button" id="uploadButton" value="Upload" /> 
</p> 
<script type="text/javascript"> 
$(function() { 
$('.inp_fileToUpload').change(function() { 
var formdata = new FormData(); 
var v_this = $(this); 
var fileObj = v_this.get(0).files; 
url = "/upload/upload_json.ashx"; 
//var fileObj=document.getElementById("fileToUpload").files; 
formdata.append("imgFile", fileObj[0]); 
jQuery.ajax({ 
url : url, 
type : 'post', 
data : formdata, 
cache : false, 
contentType : false, 
processData : false, 
dataType : "json", 
success : function(data) { 
if (data.error == 0) { 
v_this.parent().children(".img_upload").attr("src", data.url); 
//$("#img").attr("src",data.url); 
} 
} 
}); 
return false; 
}); 
}); 
</script>

這種方法的缺點:由于IE6\8\9\不支持formdata,所以這種方法不支持IE9及以下版本

方法二:使用ajaxfileupload.js插件
ajaxfileupload.js
html代碼:

<p> 
<label>ajax上傳</label> 
<input type="file" name="fileToUpload" id="fileToUpload" class="inp_fileToUpload" multiple="multiple"/> 
<img src="$web.site$web.tpl#**#adminht/images/lb_head.jpg" width="30px" height="30px" class="img_upload" id="img" /> 
</p> 
<p> 
<label>最新修改人員:</label> 
<input readonly="readonly" type="text" size="30" /> 
</p> 
<div> 

<script type="text/javascript"> 
$(function() { 
$(".inp_fileToUpload").live("change", function() {//現在這個已經適用于多個file表單。 
ajaxFileUpload($(this).attr("id"), $(this).parent().children(".img_upload").attr("id")); 
}) 
}) 
function ajaxFileUpload(file_id, img_id) { 
jQuery.ajaxFileUpload({ 
url : '/upload/upload_json.ashx', //用于文件上傳的服務器端請求地址 
secureuri : false, //是否需要安全協議,一般設置為false 
fileElementId : file_id, //文件上傳域的ID 
dataType : 'json', //返回值類型 一般設置為json 
success : function(data, status)//服務器成功響應處理函數 
{ 
if (data.error == 0) { 
$("#" + img_id).attr("src", data.url); 
} else { 
alert(data.message); 
} 
}, 
error : function(data, status, e)//服務器響應失敗處理函數 
{ 
alert(e); 
} 
}) 
return false; 
} 
</script> 
</div> 
</div>


說明:這種方法目前測試支持IE8/9,谷歌,兼容比方法1好。建議采用方法2

文件上傳后臺處理代碼(asp.net版)

<%@ webhandler Language="C#" class="Upload" %> 

using System; 
using System.Collections; 
using System.Web; 
using System.IO; 
using System.Globalization; 
using LitJson; 
public class Upload : IHttpHandler 
{ 
private HttpContext context; 
public void ProcessRequest(HttpContext context) 
{ 
String aspxUrl = context.Request.Path.Substring(0, context.Request.Path.LastIndexOf("/") + 1); 

//文件保存目錄路徑 
String savePath = "attached/"; 
//文件保存目錄URL 
String saveUrl = aspxUrl + "attached/"; 
//定義允許上傳的文件擴展名 
Hashtable extTable = new Hashtable(); 
extTable.Add("image", "gif,jpg,jpeg,png,bmp"); 
extTable.Add("flash", "swf,flv"); 
extTable.Add("media", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb"); 
extTable.Add("file", "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2"); 
//最大文件大小 
int maxSize = 1000000; 
this.context = context; 
HttpPostedFile imgFile = context.Request.Files["imgFile"]; 
if (imgFile == null) 
{ 
showError("請選擇文件。"); 
} 
String dirPath = context.Server.MapPath(savePath); 
if (!Directory.Exists(dirPath)) 
{ 
showError("上傳目錄不存在。"); 
} 
String dirName = context.Request.QueryString["dir"]; 
if (String.IsNullOrEmpty(dirName)) { 
dirName = "image"; 
} 
if (!extTable.ContainsKey(dirName)) { 
showError("目錄名不正確。"); 
} 
String fileName = imgFile.FileName; 
String fileExt = Path.GetExtension(fileName).ToLower(); 
if (imgFile.InputStream == null || imgFile.InputStream.Length > maxSize) 
{ 
showError("上傳文件大小超過限制。"); 
} 
if (String.IsNullOrEmpty(fileExt) || Array.IndexOf(((String)extTable[dirName]).Split(','), fileExt.Substring(1).ToLower()) == -1) 
{ 
showError("上傳文件擴展名是不允許的擴展名。\n只允許" + ((String)extTable[dirName]) + "格式。"); 
} 
//創建文件夾 
dirPath += dirName + "/"; 
saveUrl += dirName + "/"; 
if (!Directory.Exists(dirPath)) { 
Directory.CreateDirectory(dirPath); 
} 
String ymd = DateTime.Now.ToString("yyyyMMdd", DateTimeFormatInfo.InvariantInfo); 
dirPath += ymd + "/"; 
saveUrl += ymd + "/"; 
if (!Directory.Exists(dirPath)) { 
Directory.CreateDirectory(dirPath); 
} 
String newFileName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff", DateTimeFormatInfo.InvariantInfo) + fileExt; 
String filePath = dirPath + newFileName; 
imgFile.SaveAs(filePath); 
String fileUrl = saveUrl + newFileName; 
Hashtable hash = new Hashtable(); 
hash["error"] = 0; 
hash["url"] = fileUrl; 
context.Response.AddHeader("Content-Type", "text/html; charset=UTF-8"); 
context.Response.Write(JsonMapper.ToJson(hash)); 
context.Response.End(); 
} 
private void showError(string message) 
{ 
Hashtable hash = new Hashtable(); 
hash["error"] = 1; 
hash["message"] = message; 
context.Response.AddHeader("Content-Type", "text/html; charset=UTF-8"); 
context.Response.Write(JsonMapper.ToJson(hash)); 
context.Response.End(); 
} 
public bool IsReusable 
{ 
get 
{ 
return true; 
} 
} 
}

到此,關于“自己動手打造ajax圖片上傳的方法教程”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

马尔康县| 吉木萨尔县| 利津县| 崇阳县| 安龙县| 西吉县| 田东县| 桦甸市| 克拉玛依市| 马公市| 文成县| 永善县| 上虞市| 阳信县| 驻马店市| 商南县| 曲沃县| 凯里市| 湟中县| 巴马| 望都县| 图片| 疏勒县| 视频| 巴南区| 黄梅县| 诸暨市| 准格尔旗| 平和县| 南宫市| 博客| 民权县| 竹山县| 西盟| 许昌市| 山东省| 托克托县| 乌什县| 金寨县| 城固县| 岫岩|