這篇文章主要為大家詳細介紹了js實現多圖與單圖上傳顯示的代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
創(chuàng)新互聯主要從事網站制作、網站設計、網頁設計、企業(yè)做網站、公司建網站等業(yè)務。立足成都服務通化,十載網站建設經驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:13518219792前言:
項目中經常會大量的使用到圖片上傳,之前涉及到的時候經常會在網上下載一些素材直接拿過來使用,但是隨著項目的增多發(fā)現用的是各式各樣的,導致非?;靵y。所以抽空寫了一個DEMO來梳理下圖片上傳的流暢以及單圖和多圖上傳需要注意的點。
多圖上傳
多圖上傳,這里僅僅是做了前端的展示效果,實際項目中,多圖上傳應該是每次上傳一張圖片后向后臺發(fā)送一次請求,后臺返回img路徑然后進行展現。
(推薦教程:js教程)
為什么一定要傳入后臺在進行展現呢?
1、如果直接在前臺先展現base64圖片路徑,在向后臺發(fā)送請求。如果接口出現錯誤后,會給用戶產生錯覺,以為圖片上傳成功,而這時后臺是沒有接收到圖片的;
2、file文件每次發(fā)生變化,會將之前的files文件給覆蓋掉。如果直接展現不用ajax提交后,最終用form提交只會提交最后一張。
多圖上傳/單圖上傳
單圖上傳
去掉input中的multiple 屬性就變成了單圖上傳;
按照上邊的代碼直接就可以實現單圖上傳和多圖上傳。下邊在說下單圖上傳和多圖上傳提交需要注意的;
1、單圖上傳可以跟隨form表單一起提交,給input一個name值后臺就可以提交過去;
2、多圖上傳不可以跟form一起提交,因為每次上傳后file只會保留最新的;可以先通過ajax將圖片提交成功后,在form內去循環(huán)創(chuàng)建隱藏的input將后臺返回的路徑設置成改input的val值最后跟隨form提交;需要注意隱藏的input的name值寫成[]形式,比如:name=“img[]”。這樣在form提交的時候后臺就可以接受到所有的圖片;
以上的代碼,適用于前端點擊file上傳圖片后的顯示。具體與后臺的一些交互可以根據實際項目中的需求進行增加!
關于js實現多圖與單圖上傳顯示的代碼,就分享到這里了,當然詳細使用上面的不同還得要大家自己使用過才領會。如果想了解更多,歡迎關注創(chuàng)新互聯成都網站設計公司行業(yè)資訊頻道哦!
另外有需要云服務器可以了解下創(chuàng)新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。