1. 程式人生 > >美化上傳檔案框(上傳圖片框)

美化上傳檔案框(上傳圖片框)

//init
function initFile(fo){
var divFile = document.createElement("div");
divFile.className="file"; 
fo.parentNode.insertBefore(divFile,fo);
divFile.appendChild(fo);
var  btnRemove = document.createElement("button");
btnRemove.className="remove";
btnRemove.innerHTML="移除";
divFile.insertBefore(btnRemove,fo);
var  btnUpload = document.createElement("button");
btnUpload.className="upload";
btnUpload.innerHTML="上傳";
divFile.insertBefore(btnUpload,btnRemove);
var  showImgTar = document.createElement("img");
showImgTar.setAttribute('src','images/nophoto.gif');
showImgTar.setAttribute('width','150');
showImgTar.setAttribute('height','150');
divFile.insertBefore(showImgTar,btnUpload);
}
var inputFiles = document.querySelectorAll("input[type='file']");
inputFiles.forEach(function(inf){
initFile(inf);
})
//file onload
var upload = document.querySelectorAll(".upload");
var file = document.querySelectorAll(".file");
file.forEach(function(f){
var showImg = f.querySelector("img");
var defImgSrc = "images/nophoto.gif";
var inpFile = f.querySelector("input[type='file']");
//移除
f.querySelector(".remove").onclick = function(){
showImg.src=defImgSrc;
inpFile.value="";
}
//上傳
f.querySelector(".upload").onclick = function(){
f.querySelector("input[type='file']").click();
}
inpFile.onchange = function(){
//判斷檔案型別
//console.dir(this.value);
var fileName = this.files[0].name;
var fileExt = fileName.split(".").pop().toLowerCase();
if(fileExt!='jpg' && fileExt!= 'gif' && fileExt!= 'png'){
alert("請上傳jpg,gif,png圖片");
this.value="";
return;
}
//判斷檔案大小
var fileSize = 1024 * 1024 * 2;
if(this.files[0].size>=fileSize){
alert("圖片大於2M,請重新選擇");
this.value="";
return;
}
//建立fileReader物件
var reader =  new FileReader();
//圖片編碼完成
reader.onloadend = function(e){
showImg.src = e.target.result;
}
//解析圖片 成base 64位的圖片 用fileReader的readAsDataURL 去讀本地圖片物件
reader.readAsDataURL(this.files[0]);
}
})

相關推薦

iOS檔案或base64(圖片)之AFNetworking 3.0+檔案圖片

1. base64 上傳圖片 /**  *  上傳圖片到伺服器  *  *  @param image  *  @param photoID  *  @param photoType  */ - (

fastDFS中使用php檔案 -- http與下載圖片

CleverCode研究完fastDFS後,嘗試著使用php上傳檔案到fastdfs。 1 fastDFS安裝   fastdfs分散式架構配置參考:http://blog.csdn.net/clevercode/article/details/52267080。   fa

[原創]K8 Struts2 Exp 20170310 S2-045(Struts2綜合漏洞利用工具) [原創]Struts2奇葩環境任意檔案工具(解決菜刀無法檔案亂碼等問題)

工具: K8 Struts2 Exploit組織: K8搞基大隊[K8team]作者: K8拉登哥哥部落格: http://qqhack8.blog.163.com釋出: 2014/7/31 10:24:56簡介: K8 Stru

[原創]Struts2奇葩環境任意檔案工具(解決菜刀無法檔案亂碼等問題)

 上面這問題問得好  1 不知道大家有沒碰到有些Strus2站點  上傳JSP後訪問404 或者503    注意我說的是404或503不是403(要是403換個css/img等目錄或許可以)    但對於明明

vue-resource+iview檔案取消

vue-resource+iview上傳檔案取消上傳 子元件: <template> <div class="upload-area-div"> <Upload :type="upType" class="upload-area"

java 單個檔案, 批量檔案,單個下載,批量打成zip壓縮包下載檔案(如果不能接受httpsevletrequest請求的檔案可以使用MultipartFile[] files)

package net.wkang.intelligent_audit.hospitalization.utils; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; impor

retrofit2 進度回撥與 Interceptor衝突引起檔案資料兩次

原因:在開發過程中,遇到過上傳檔案資料上傳兩次的問題,發現是在OkHttp里加入了預設的HttpLoggingInterceptor引起的。在下面程式碼呼叫了wirteTo方法,導致會再次執行UploadFileRequestBody.writeto方法重複寫入資料。/*

h5特性formdata帶引數檔案到node端

html: <input type="file" id="addpic" multiple="multiple"/> <button id="uploadpic" style="

CKEditor+CKFinder for java (檔案視訊、新增行距編輯等等)

         CKEditor 、CKFinder    相互融合要注意的細節的確很多,因為功能的強大和介面的優勢,花費一些時間整合還是有意義的。           下載外掛:        CKEditor  : http://ckeditor.com/    

美化檔案(圖片)

//initfunction initFile(fo){var divFile = document.createElement("div");divFile.className="file"; fo.parentNode.insertBefore(divFile,fo);divFile.appendChil

VUE彈圖片+預覽+壓縮圖片

先看一下實現效果     這裡彈出框我使用了一個外掛---------YDUI,一隻注重審美,且效能高效的移動端&微信UI。 安裝: $ npm install vue-ydui --save   在入口檔案中配置: import

java圖片-檔案/圖片到七牛

java圖片上傳-檔案(圖片)上傳到七牛 一、在配置檔案中引入依賴(注:七牛開發者url:https://developer.qiniu.com/kodo) <-- 引入依賴 --> <dependency> <

robot framework 遇到頁面彈出檔案時處理

最近在做公司公司頁面自動化的時候遇到上傳檔案的彈出框,如下圖,在點選選擇檔案的時候回彈出一個檔案選擇視窗,記錄下處理方法 下載安裝AutoIt 軟體,安裝python 安裝AutoItLibrary,這個過程網上一大堆,不做敘述 將AutoItLibrary匯入到robotframew

layui檔案圖片

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>layui</title> <meta name="renderer" content="

laravel圖片檔案

https://www.jianshu.com/p/51c290b56b0f $file = $request::file('picfile'); 或者 $request = $request::all(); //注意先先取全,得到的是陣列

前端檔案前預覽,.net將base64位轉換為圖片並儲存到本地

前端上傳檔案前預覽 <img src="" id="img-change" width="200px" height="200px" id="filePath" name="filePath"> <input type="file" id="file" style="displ

阿里雲 javascript檔案圖片、視訊、壓縮包等檔案)到 物件儲存 OSS ,返回檔案圖片、音訊、視訊等URL路徑

目的:前端上傳檔案(圖片、視訊、音訊等)到阿里雲伺服器裡面,並且獲得上傳檔案的URL路徑 前提:首先要買一個阿里雲伺服器,自己百度不會; 第一步:登入阿里雲賬號,點選管理控制檯-->物件儲存 OSS 第二步:新建儲存空間(圖一、圖二) (圖一) (圖二

web安全_檔案_Cknife操作_cmd製作圖片木馬

一、Cknife使用 Cknife使用同中國菜刀類似,但可以在linux環境下執行。 開啟Cknife:在Cknife所在檔案下開啟命令列,輸入命令java -jar Cknife.jar 配置Cknife(如圖) 之後的操作同中國菜刀,Cknife還支援代理功能

通過label點選觸發隱藏input:file檔案或者圖片

<label class="img1"> <div id="fileList1" class="fileLists"> <img src="/template/mobile/new2/static/images/aodi/idA.png

SpringMVC檔案圖片)並儲存到本地

SpringMVC上傳檔案(圖片)並儲存到本地 小記一波~ 基本的MVC配置就不展示了,這裡給出核心程式碼 在spring-mvc的配置檔案中寫入如下配置 <bean id="multipartResolver" class="org.springframewor