① 用戶頭像上傳如何實現
實現用戶頭像上傳的方法主要有三種。
首先,當用戶取消操作時,可以通過發送刪除圖片的請求實現頭像刪除。
其次,一種方法是圖片通過介面上傳至臨時目錄。介面返回臨時文件標識,如路徑、URL或ID。在正式提交表單內容後,後端將文件移至目標位置,並運行定時腳本清理過期臨時文件。此方法需後端配合,以防未登錄或無限上傳導致的潛在攻擊,避免惡意上傳佔用磁碟。
另一種方法是設置表單類型為multipart/form-data。這樣可以在提交表單文本信息的同時提交文件,後端一同處理。使用fetch方法發送FormData也與此相似。此方法無需後端參與。
在方法2中,如何在與後端通信前預覽頭像?可利用FileReader和Image類實現預覽。多年前,我曾編寫過一段代碼:HongsCORE/hongscore-file.js。當然,無需親自動手編寫,可以使用bootstrap-fileinput組件進行預覽。這類控制項和組件有很多,我不是專業前端,久未接觸,您可以自行搜索。
② JS上傳頭像圖片,在電腦中可以運行,上傳到伺服器後不可以
查看一下 你存儲【圖像】這個數據 的 資料庫中 欄位數據。
大多數情況你這個採集回的都是 絕對路徑。答也就是 C:\xxx\xxx.xx這樣的文件,這樣的東西伺服器是不認的。
改成相對路徑就可以了。比如 xx\xx.xx這樣的格式。
③ Html5移動端上傳圖片並裁剪 - Clipic.js
Clipic.js插件可以為移動端 (僅支持移動端) 提供頭像上傳並裁剪成指定尺寸,用原生js開發的,輕量級,包含html跟css,不到8kb。點此鏈接體驗: https://teojs.github.io/clipic/
https://github.com/teojs/clipic
參數說明
width:Number (默認:500) – 裁剪寬度
height:Number (默認:500) – 裁剪高度
ratio:Number (可選) – 裁剪的比例,當傳入ratio時width/height將無效
src:String (必傳) – 需要裁喊禪剪的圖片,可以是圖片鏈接,或者 base64
type:String (默認:jpeg) – 裁剪後圖片的類型,僅支持 jpeg/png 兩種
quality:Number (默認:0.9) – 壓縮質量
buttonText:Array (默認:[『取消』, 『重置』, 『完成』]) – 底部三鄭正塵個按鈕文本清型
http://bbs.itying.com/topic/5cb17892c6a71b10bcef96b0
最近在開發小程序,產品經理提了一個需求,要求微信小程序換頭像,用戶剪裁圖片必須是圓形,也在github上看了一些例子,一般剪裁圖片用的都是方形,所以自己打算寫一個小組件,可以把圖片剪裁成圓形,主要思路就是使用canvas繪圖,把剪裁的圖片繪製成圓形,另外剪裁圖片的窗口還可以移動放大縮小,這個功能就用了微信組件movable-view,好了,該說的也說完了,下面咱們開始擼代碼。
movable-view組件可移動的視圖容器,在頁面中可以拖拽滑動,會有好多個屬性,在這里不一一介紹,只說我們能用到的就可以。我們用到的屬性主要有:
畫布。該組件是原生組件可以繪制圖像,分享朋友圈生成海報就經常用到這個屬性,就簡單的說下:在wxml中必須要有canvas這個標簽,才可以繪制圖像,而且要有canvas-id屬性,代表canvas組件的唯一標識符,還有許多API我就不一一介紹了,底下用的API代碼當中都會用注釋。詳情請看微信小程序畫布API傳送門。
index.wxml Tip: 必須把canvas放到引入剪裁組件的wxml中,否則繪制不成功,因為canvas是原生組件脫離在 WebView 渲染流程外。
index.json引入截取圖片的組件
index.js上傳圖片顯示
接下來就是剪裁圖片組件的封裝,首先是頁面布局,也就是clipImg.wxml
大概就是這個樣子
上邊的圓就是截取就是截取框。然後就是clipImg.js文件主要就是對圖片截取的一些操作
到現在為止一個截取圖片就完成了,可能會有些問題,比如截取的圖片的框沒有居中,自己可以再次封裝這個組件,因為現在已經適合我們公司自己項目了。我們來預覽下。另外這個組件支持雙指放大截取框來截取圖片,不過微信開發者工具不能展示,自己可以把代碼下載下來,在自己手機上掃碼查看效果。
另外我把項目放到了github上邊,希望小哥哥小姐姐們多多點贊,多多支持,有什麼疑問可以在github上問我,謝謝。點贊的小哥哥小姐姐最可愛,哈哈哈。。。項目地址鏈接描述
作者:舊巷老友 鏈接:imooc.com/article/25316... 來源:慕課網
⑤ JS校驗是什麼
JS校驗:就是說如果你的操作涉及到伺服器或者資料庫中修改,刪除,添加的動作,那麼本著伺服器安全的原則,你必須對客戶上傳的內容進行檢查,確保客戶上傳的是可信賴,可控制,符合規范的內容,以此避免不良客戶或者黑客對你的資料庫和伺服器數據進行竊取,篡改等違法違規的操作!
在web網站的使用中有很多地方會用到上傳文件的操作啊,比如上傳頭像,上傳報表並分析報表數據,在多商戶類型的網站中,商戶需要對自己的商品圖片自行上傳的,這些都涉及到上傳文件的操作.
⑥ CSS加js怎麼上傳頭像和身份證
fileChangeHandler:function(ele,event){ for(var i=0;i<event.target['files'].length;i++){ var tmpFormData=new FormData();
tmpFormData.append('img',event.target['files'][i]); //ajax方式提交表抄單,完襲成後執行回調函數
submitImgAjax(tmpFormData,function(data){ //回調,比如預覽圖片
},requestUrl,requestData);
}
}
⑦ 求一個實現頭像圖片編輯功能的js,類似開心網的裁切頭像照片功能
這個東西很多的,給你一些資料,看看吧。
http://www.defusion.org.uk/code/javascript-image-cropper-ui-using-prototype-scriptaculous/comment-page-12/
http://thinhunan.cnblogs.com/archive/2006/04/01/DeveloperNotesForPrototype.html prototype
http://space.flash8.net/space/?592455/action_viewspace_itemid_357808.html prototype 分析
http://www.resizeyourimage.com/
http://www.nwhite.net/MooCrop/ 推薦,比較簡單,有詳細解釋和使用方法
http://zeroliu.blogdriver.com/zeroliu/1212817.html
http://bbs.phpchina.com/viewthread.php?tid=49867
http://www.google.cn/search?complete=1&hl=zh-CN&newwindow=1&q=javascript+%E8%A3%81%E5%89%AA%E5%9B%BE%E7%89%87&meta=&aq=f
http://bbs.blueidea.com/thread-2801917-1-1.html
⑧ 用js做的一個下拉頭像的,不知道怎麼把選擇的頭像放入資料庫里
request.form("avatarsel")後,把圖片的地址存入資料庫即可,顯示的時候,再根據地址把圖片顯示出來~