ajax jq 圖片上傳請求頭_Jquery ajaxsubmit上傳圖片實現代碼

這是數月前的事情了,場景是這樣的: 在進行圖片上傳的時,我發現開發人員使用的上傳圖片方式是Iframe + 傳統的 http post 來處理的。

而且未建立統一上傳函數。于是將代碼改造了。心想來個ajax異步上傳圖片吧,這技術應該很老套了。于是直接打開強大的cnblogs輕松的找到了 這篇文章 直接依葫蘆畫瓢,將該作者的勞動成果直接“拿來主義了”。很快就把代碼全改造了。可是當我把程序發布到服務器上的時問題來了。上傳文件失效了!汗~ 都是偷懶造成的惡果。繼續打開先前參考的那篇文章。原來作者解釋了只能在本地使用而不能發布到服務器上。心想我難道還得用 iframe + http post 這個 郁悶的方式么??

于是不甘心的我打開了更加強大的google,開始全球搜索尋求解決方案,終于功夫不負有心人。找到了 "jquery.form.js" 。

異步上傳圖片的步驟如下:

1.引用 jquery js 框架(這東西的好處無需多論)后再引用 “jquery.form.js”。

2.建立一般處理程序 ashx。

核心代碼如下:

html:

$(function () {

//上傳圖片

$("#btnUpload").click(function () {

if ($("#flUpload").val() == "") {

alert("請選擇一個圖片文件,再點擊上傳。");

return;

}

$('#UpLoadForm').ajaxSubmit({

success: function (html, status) {

var result = html.replace("

", "");

result = result.replace("

", "");

$("#image").attr('src', result);

alert(result);

}

});

});

});

ashx 如下:

namespace TestMvc.Utility

{

///

/// Summary description for PicUploadHander

///

public class PicUploadHander : IHttpHandler

{

public void ProcessRequest(HttpContext context)

{

context.Response.ContentType = "text/plain";

//驗證上傳的權限TODO

string _fileNamePath = "";

try

{

_fileNamePath = context.Request.Files[0].FileName;

//開始上傳

string _savedFileResult = UpLoadImage(_fileNamePath, context);

context.Response.Write(_savedFileResult);

}

catch

{

context.Response.Write("上傳提交出錯");

}

}

注:整個上傳使用ajax 異步數據,同時jquery回調出上傳成功后圖片在服務器上的相對路徑。總的來說此方式相對傳統的上傳圖片方式要強一些。

本例代碼在此下載,FireFox 下測試通過。http://xiazai.jb51.net/201011/yuanma/AjaxUploadPic.rar

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/394415.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/394415.shtml
英文地址,請注明出處:http://en.pswp.cn/news/394415.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

這個免費的交互式課程在一小時內學習JavaScript

JavaScript is the most popular programming language on the web. You can use it to create websites, servers, games and even native apps. So no wonder it’s such a valuable skill in today’s job market.JavaScript是網絡上最流行的編程語言。 您可以使用它來創建網…

java中二進制怎么說_面試:說說Java中的 volatile 關鍵詞?

volatile 這個關鍵字可能很多朋友都聽說過,或許也都用過。在 Java 5 之前,它是一個備受爭議的關鍵字,因為在程序中使用它往往會導致出人意料的結果。在 Java 5之后,volatile 關鍵字才得以重獲生機。volatile 關鍵字雖然從字面上理…

類的詳解

面向對象是一種編程方式,此編程方式的實現是基于對類和對象的使用。類是一個模板,模板中包裝了多個“函數”供使用(可以講多函數中公用的變量封裝到對象中)。對象,根據模板創建的實例(即對象)&a…

leetcode279. 完全平方數(動態規劃)

給定正整數 n,找到若干個完全平方數(比如 1, 4, 9, 16, …)使得它們的和等于 n。你需要讓組成和的完全平方數的個數最少。 示例 1: 輸入: n 12 輸出: 3 解釋: 12 4 4 4. 解題思路 數組含義:dp[i]數字i對應組成和的完全平方…

什么情況不能辦理房產抵押貸款 房產抵押貸能貸多少?

所謂房產抵押貸款是指以自己或親友的房產作為抵押物向貸款機構申請貸款,款項可用于企業經營、買房、買車、裝修及其他用途的融資方式。但是有些情況是規定不能申請房產抵押貸款的,而且貸款的數額是有限的,不是想貸多少就多少。那么&#xff0…

Android RecyclerView 二級列表實現

Android RecyclerView 二級列表實現

2數據庫表增加一個字段_14個實用的數據庫設計技巧!

1. 原始單據與實體之間的關系可以是一對一、一對多、多對多的關系。在一般情況下,它們是一對一的關系:即一張原始單據對應且只對應一個實體。在特殊情況下,它們可能是一對多或多對一的關系,即一張原始單證對應多個實體&#xff0c…

錯誤: 找不到或無法加載主類 helloworld_全面剖析虛擬機類加載機制

1.引言java源文件經過編譯后生成字節碼class文件,需要經過虛擬機加載并轉換成匯編指令才能執行,那么虛擬機是如何一步步加載這些class文件的對于java程序員是完全透明的,本文嘗試全面分析jvm類加載機制。2.思考開始之前我們來簡單思考一下&am…

nginx反向代理和shiro權限校驗產生的404問題

問題描述: 我們的項目A(以下簡稱A)用了shiro做權限校驗,nginx做反向代理,在另一個項目B(以下簡稱B)中點擊某個A的鏈接時實現單點登錄并會跳轉到該路徑。跳轉到原路徑的時候nginx報了404。出現404之后再次點…

android 揭示動畫_如何使用意圖揭示函數名稱使代碼更好

android 揭示動畫Discover Functional JavaScript was named one of the best new Functional Programming books by BookAuthority!“發現功能JavaScript”被BookAuthority評為最佳新功能編程書籍之一 ! Code is a way to communicate with developers reading it…

200道物理學難題——038蚱蜢躍樹

轉載于:https://www.cnblogs.com/hanford/p/6168514.html

(轉)dp動態規劃分類詳解

dp動態規劃分類詳解 轉自:http://blog.csdn.NET/cc_again/article/details/25866971 動態規劃一直是ACM競賽中的重點,同時又是難點,因為該算法時間效率高,代碼量少,多元性強,主要考察思維能力、建模抽象能力…

strcmp可以比較數組么_大家都用過百度云,但你面試過百度云么

作者:黃小斜百度研發面經百度智能云軟件研發工程師百度智能云研發崗好像是做控制臺方面的組一面:1自我介紹,項目2 static關鍵字有什么用,static修飾不同東西時有什么作用,內部類用static修飾和不用static修飾有何區別。…

leetcode785. 判斷二分圖(dfs和bfs染色)

給定一個無向圖graph,當這個圖為二分圖時返回true。 如果我們能將一個圖的節點集合分割成兩個獨立的子集A和B,并使圖中的每一條邊的兩個節點一個來自A集合,一個來自B集合,我們就將這個圖稱為二分圖。 graph將會以鄰接表方式給出…

bdd cucumber_如何使用BDD構建堅如磐石的Ruby on Rails應用

bdd cucumberby Marko Anastasov通過Marko Anastasov 如何使用BDD構建堅如磐石的Ruby on Rails應用 (How to build rock-solid Ruby on Rails apps with BDD) 了解通過行為驅動開發來構建可持續Web應用程序的最佳實踐。 (Learn best practices for building sustainable web a…

go kegg_KEGG分析及可視化

上一篇推文中我們解釋了GO富集分析及可視化(GO富集分析及可視化),除了GO富集分析,我們經常在paper中看到KEGG分析,KEGG是什么呢,Kyoto Encyclopedia of Genes and Genomes,京都基因和基因組百科…

IntelliJ IDEA注冊碼

IntelliJ IDEA注冊碼 http://idea.lanyus.com/ 1.導航欄下 2.help下 3.register點擊 4.單選Activation code 5.粘貼注冊碼 轉載于:https://www.cnblogs.com/YUJIE666/p/10662561.html

單詞本.

offset 偏移量 charset字符集 str 代表String字符串 IgnoreCase忽略大小寫 Object 對象 argument 參數 if and only if:當且僅當 value:值 specified:指定 Parameters:參數 iterator:迭代器 invoke:調用 variable:變量 resolved:解決 sequnence 序列 default:默認轉載于:http…

leetcode931. 下降路徑最小和(動態規劃)

給定一個方形整數數組 A,我們想要得到通過 A 的下降路徑的最小和。 下降路徑可以從第一行中的任何元素開始,并從每一行中選擇一個元素。在下一行選擇的元素和當前行所選元素最多相隔一列。 示例: 輸入:[[1,2,3],[4,5,6],[7,8,9…

lvm使用

注:新添加的硬盤,如果沒有分區,可以直接使用pvcreate進行創建,然后用vgextend進行擴展如果新添加的硬盤經過分區,則要把需要擴展的分區修改為8e格式,則進行擴展以上內容實測~相關概念:pv:物理卷…