JavaScript實(shí)現(xiàn)圖片上傳并預(yù)覽并提交ajax
本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)圖片上傳并預(yù)覽并提交ajax的具體代碼,供大家參考,具體內(nèi)容如下
圖片上傳并預(yù)覽

HTML
<div class="file-box"> <img id="preview" /> <input type="text" id="imgfield" class="txt" placeholder="預(yù)覽"> <input type="file" name="file" id = "input_file" accept="image/gif,image/jpeg,image/jpg,image/png,image/svg" "imgPreview(this)" > </div>
css
.file-box {
position: relative;
display: inline-block;
}
.file-box img {
width: 50px;
height: 50px;
border-radius: 50%;
position: absolute;
top: -30px;
left: 0;
display: inline-block;
border: none;
}
.file-box .txt,.file-box .file {
width: 70px;
height: 36px;
position: absolute;
top: -20px;
left: 100px;
text-align: center;
}
JS
function imgPreview(fileDom) {
//判斷是否支持FileReader
if(window.FileReader) {
var reader = new FileReader();
} else {
alert("您的設(shè)備不支持圖片預(yù)覽功能,如需該功能請升級您的設(shè)備!");
}
//獲取文件
var file = fileDom.files[0];
var imageType = /^image\//;
//是否是圖片
if(!imageType.test(file.type)) {
alert("請選擇圖片!");
return;
}
//讀取完成
reader.onload = function(e) {
//獲取圖片dom
var img = document.getElementById("preview");
//圖片路徑設(shè)置為讀取的圖片
img.src = e.target.result;
};
reader.readAsDataURL(file);
}
上傳圖片提交ajax
如果想把圖片信息通過ajax傳給后端,則需要通過new FormData() 上傳圖片信息,然后使用 append() 方法向該對象里添加字段,具體代碼如下:
(注:以下代碼在圖片預(yù)覽成功后執(zhí)行,也就是在reader.readAsDataURL(file); 后)
var formData = new FormData();
formData.append('file', $('#input_file')[0].files[0]); //添加圖片信息的參數(shù)
formData.append('sizeid',123); //添加其他參數(shù)
$.ajax({
url: '/material/uploadFile',
type: 'POST',
cache: false, //上傳文件不需要緩存
data: formData,
processData: false, // 告訴jQuery不要去處理發(fā)送的數(shù)據(jù)
contentType: false, // 告訴jQuery不要去設(shè)置Content-Type請求頭
success: function (data) {
var rs = eval("("+data+")");
if(rs.state==1){
tipTopShow('上傳成功!');
}else{
tipTopShow(rs.msg);
}
},
error: function (data) {
tipTopShow("上傳失敗");
}
})

更多精彩內(nèi)容請參考專題《ajax上傳技術(shù)匯總》,《javascript文件上傳操作匯總》和《jQuery上傳操作匯總》進(jìn)行學(xué)習(xí)。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- vue 使用微信jssdk,調(diào)用微信相冊上傳圖片功能
- javascript實(shí)現(xiàn)移動端上傳圖片功能
- javascript實(shí)現(xiàn)移動端 HTML5 圖片上傳預(yù)覽和壓縮功能示例
- Vue + Node.js + MongoDB圖片上傳組件實(shí)現(xiàn)圖片預(yù)覽和刪除功能詳解
- 通過js實(shí)現(xiàn)壓縮圖片上傳功能
- JS+HTML實(shí)現(xiàn)自定義上傳圖片按鈕并顯示圖片功能的方法分析
- js實(shí)現(xiàn)上傳圖片并顯示圖片名稱
- JS實(shí)現(xiàn)壓縮上傳圖片base64長度功能
- JS+html5實(shí)現(xiàn)異步上傳圖片顯示上傳文件進(jìn)度條功能示例
- Nodejs實(shí)現(xiàn)圖片上傳、壓縮預(yù)覽、定時刪除功能
- Js實(shí)現(xiàn)粘貼上傳圖片的原理及示例
相關(guān)文章
使用typescript快速開發(fā)一個cli的實(shí)現(xiàn)示例
這篇文章主要介紹了使用typescript快速開發(fā)一個cli的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
js操作CheckBoxList實(shí)現(xiàn)全選/反選(在客服端完成)
對于CheckBoxList控件來說,一方面要實(shí)現(xiàn)大量數(shù)據(jù)在服務(wù)器端的綁定工作,另一方面往往要求實(shí)現(xiàn)全選、反選等功能,接下來將介紹js操作CheckBoxList實(shí)現(xiàn)全選/反選,感興趣的朋友可以了解下,或許對你有所幫助2013-02-02
JS獲取當(dāng)前使用的瀏覽器名字以及版本號實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄狫S獲取當(dāng)前使用的瀏覽器名字以及版本號實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08
layer.open回調(diào)獲取彈出層參數(shù)的實(shí)現(xiàn)方法
今天小編就為大家分享一篇layer.open回調(diào)獲取彈出層參數(shù)的實(shí)現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
js實(shí)現(xiàn)左側(cè)網(wǎng)頁tab滑動門效果代碼
這篇文章主要介紹了js實(shí)現(xiàn)左側(cè)網(wǎng)頁tab滑動門效果代碼,涉及JavaScript頁面元素的遍歷及元素屬性動態(tài)切換的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09

