web uploader 框架上傳圖片,java後臺處理
前言:最近剛剛接觸到微信端的開發,使用到了web uploader 框架作為上傳元件,初步接觸,走進了很多坑,在不斷的試驗,查文件基礎上終於解決了這個問題。再次記錄,希望能夠使其他使用此框架上傳圖片的初學者少走彎路。
目錄:
1.web uploader前臺程式碼實現
2.Java後臺接收處理
3.前臺圖片回顯(多張圖片上傳)
一.前臺程式碼:web uploader
1.前臺js,需要注意 上傳方式一定要設定成 sendAsBinary: true 。用火狐瀏覽器除錯時,可以看到設定後上傳content-type 為image型別。(這裡只是程式碼片段,需要注意的地方,並不完全)
/*圖片上傳*/
jQuery(function() {
var $ = jQuery,
$list = $('#fileList'),
// 優化retina, 在retina下這個值是2
ratio = window.devicePixelRatio || 1,
// 縮圖大小
thumbnailWidth = 100 * ratio,
thumbnailHeight = 100 * ratio,
// Web Uploader例項
uploader;
// 初始化Web Uploader
uploader = WebUploader.create({
// 自動上傳。
auto: true,
// 檔案接收服務端。
server: '/uploadPic',// 此處伺服器測試時可以寫本地服務,上傳的Java後臺請求地址
sendAsBinary: true ,// 上傳方式
pick : {
id : '.filePicker',
//只能選擇一個檔案上傳
multiple: false
},
duplicate:true,//可以重複
resize : true,// 不壓縮image, 預設如果是jpeg,檔案上傳前會壓縮一把再上傳!
// 只允許選擇檔案,可選。
accept: {
title: 'Images',
extensions: 'gif,jpg,png,jpeg',
mimeTypes: 'image/*'
},
})
});
二.Java後臺接受處理
@RequestMapping(value = "/uploadPic", method = RequestMethod.POST)
public void uploadPic(HttpServletRequest request, HttpServletResponse response) throws Exception {
String name = request.getParameter("name");// 檔名稱
String type = name.substring(name.lastIndexOf(".") + 1);// 檔案型別
name = DateTools.getDateAndTime() + "." + type;// 重新定義圖片名稱,DateTools.getDateAndTime() 工具類,產生時間戳短碼,可以自己根據需求重新定義
String path ="xxx";//這裡儲存圖片路徑 D:\ 這樣
path = path + File.separator + name;// 拼接路徑
ServletInputStream inputStream = request.getInputStream();// ***獲取位元組流,圖片儲存在這裡,切記這裡只可以獲取一次。***
File uploadFile = new File(path);// 路徑檔案,一定要有資料夾,沒有則建立,mkdir
FileCopyUtils.copy(inputStream, new FileOutputStream(uploadFile));// 複製圖片
inputStream.close();// 關閉io,這裡寫的簡陋了些,程式碼從簡
String realPath= uploadFile.getPath();//realPath 為圖片真路徑
// 格式 : http://192.1.1.1/xxxx/name 類似這樣在公網顯示
JSONObject json = new JSONObject();
json.put("path", realPath);// 引用路徑
json.put("flag", "success");// 標識
response(response, json.toJSONString());// 儲存圖片完成,返回前臺進行回顯
}
三..前臺圖片回顯(多張圖片上傳)
這裡是我的前臺html程式碼,需要注意的是div巢狀的的排序格式。
<div class="pro-upload s">
<div class="pro-uploads">
<img id="img5" src="xxx/images/pro_img_07_07.png"><!-- 初始引用圖片路徑 -->
<a href="javascript:void(0);" class="btn-tu filePicker btn_cl webuploader-container" imagetype="5">
<div class="webuploader-pick"></div>
<div style="top: 0px; left: 0px; width: 100%; height: 100px; overflow: hidden;">
<input type="hidden" name="lgback_picpath" id="lgback_picpath"/>
<input type="file" name="lgback_picpath_n" id="lgback_picpath_n" class="webuploader-element-invisible" accept="image/*">
<label style="opacity: 0; width: 100%; height: 100%; display: block; cursor: pointer; background: rgb(255, 255, 255);"></label>
</div>
</a>
<span id="close5" class="colse_cl" style="display:none;"><img src="${preserverStyleServierPath}/images/cose1.png"></span>
</div>
<div class="frm-txt-center" name="lgback_name">測試圖片05</div>
</div>
webuploader 程式碼,可以根據var uploaderId = ‘rt_’+file.source.ruid; 這種方式獲取當前上傳div的id,用chrom可以發現,當圖片上傳時頁面會浮動出一個臨時div而這種獲取id 的方式就是獲取臨時div 的id,再根據臨時div 的id定位到html頁面原本的div 確定回顯未知,img型別,將傳回來的路徑傳入img即可。
uploader.on( 'uploadSuccess', function( file,str ) {
mui.alert("上傳成功","提示資訊","確定");
var uploaderId = 'rt_'+file.source.ruid;// 獲取當前節點id
var $this = $("#"+uploaderId).parent();// 獲取當前節點父類節點 a標籤
var par = $this.parent();// 獲取當前節點祖父節點 div
par.find("img:first").attr("src",str.path);// 獲取祖父節點下第一個img標籤,並賦值
par.find("a:first").find("div:first").find("div:last").find("input:first").attr("value",str.pathPic);// 這裡是將儲存在資料庫中的路徑寫入input中 pathPic 是存在資料庫中的格式,這裡的Java程式碼我沒有寫出
});
相關推薦
web uploader 框架上傳圖片,java後臺處理
前言:最近剛剛接觸到微信端的開發,使用到了web uploader 框架作為上傳元件,初步接觸,走進了很多坑,在不斷的試驗,查文件基礎上終於解決了這個問題。再次記錄,希望能夠使其他使用此框架上傳圖片的初學者少走彎路。 目錄: 1.web uploader前臺
nodejs express 框架 上傳圖片,上傳頭像問題
上傳圖片總結: 必須 安裝’multer’模組 Npm I multer –S(手動輸入小寫) 第一步 App.js 裡面 掛載index路由之前寫入 app.use(express.static(path.join(__dirname, 'public'))); var mul
Spring MVC上傳圖片,Java二進位制圖片寫入資料庫,生成略縮圖
步驟:1.將圖片上傳到伺服器的一個磁碟目錄下。 2.將剛才上傳好的圖片寫入資料庫image欄位。 一、上傳圖片:使用的是spring mvc 對上傳的支援。 jsp 頁面: <form name="uploadForm" id="uploadForm" m
010-java 表單方式或者base64方式上傳圖片,後端使用nutz的post轉發圖片到另一個請求
本地上傳圖片 方式一、使用表單方式上傳-enctype <form enctype="multipart/form-data" method="post" action="http://face.lhx.com/auth" id='formBox' name="form">
java模擬表單上傳檔案,java通過模擬post方式提交表單實現圖片上傳功能例項
package com.zdz.httpclient;import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.
使用 CKEditor 上傳圖片, 粘貼屏幕截圖
要求 license 回調 wan ade 做成 操作 rms 粘貼 之前寫過wangEditor,那真是好用,文檔也清晰,半天就搞定了,無奈沒有對應license,只好選擇別的。 外語一般,閱讀理解都靠蒙。CKEditor官方文檔看的我雲裏霧裏,國內的博客比較少,
百度WebUploader上傳圖片,圖片回顯編輯,查看
set 唯一性 original 無需 同名 sch nag fin enum 頁面前端使用的是bootstrap,java後端springMVC , 上傳用的WebUploader,先說說上傳圖片,回顯編輯圖片在下一篇 如果僅僅只需要上傳圖片,不需要回顯進行編輯圖片,使用
html 上傳圖片,本頁預覽
html 上傳圖片 本頁預覽 直接上代碼<!DOCTYPE html><html><head><meta charset="UTF-8"><title>圖片上傳預覽</title><script type="text/j
vue, vux調用微信點擊圖片,上傳圖片,刪除圖片,接口,其中選圖接口,蘋果手機顯示有問題,查看不到圖片,提交會提示fail not exist,解決如下
ssd fff sset ogre 默認 item config tom ima <template> <div v-cloak v-show="show"> <div v-show="mailbox">
C# 使用FileUpload控件上傳圖片,將文件轉換成二進制進行存儲與讀取
擴展 實現 bmi extension aaa 插入數據 問題 pup cat 狀況描述: 需要上傳文件,但是不想要保存到實體路徑下,便可以用該功能來實現。 效果圖: 點擊【Upload】按鈕,上傳文件到數據庫; 點擊【Preview】,預覽文件;
微信jssdk上傳圖片,一張一張的上傳 和 一次性傳好幾張
pla can 參數錯誤 其他 屬性 使用 down pop menu //html模板 <div class="zhaopin_3_2"> <div id="bbb"></div> &
小程序上傳圖片,排隊上傳
length 內容 ext 有效 ges mar 顯示 func 沒有 //沒有處理的wxml,但是有效果,可以簡單試驗一下 <view class=‘minbox1‘> <text class=‘red wzgs‘>*</text>
php 中使用cURL發送get/post請求,上傳圖片,批處理
cit gda 抓取 記錄 rem 學習 網頁 lose XML https://mp.weixin.qq.com/s/8luqMEd8xt8oJxFLLCU1XA 文章正文 cURL是利用url語法規定傳輸文件和數據的工具。php中有curl拓展,一般用來實現網絡抓取,模
微信小程式上傳圖片,視訊及預覽
wxml <!-- 圖片預覽 --> <view class='preview-warp' wx:if="{{urls}}"> <image src='{{urls}}' /> </view> <view class="prew_video"
layer 彈框 cropper 裁剪上傳圖片,thinkphp 3 使用 CropAvatar.class.php
最近要做一個上傳裁剪圖片功能,但是網上收出來的東西,知識點都是對的。但是就是沒說清楚,也無法連續起來用。 經過自己整理出來的一套程式碼,親測可用! 不用多說,直接上菜。 PS:搜尋引擎收錄的還是很垃圾...... 呼叫頁面,簡單程式碼(可複用) <img src="{$info.co
layui-圖片上傳,可使用選擇圖片->上傳圖片,預覽圖片,刪除圖片(轉載)
原文地址:https://gitee.com/AMortal/codes/qt8m6zk30u1g4evr95jhx13 <!DOCTYPE html> <html> <head> <meta
利用ajax上傳圖片,並使用CURL呼叫介面
這是我第一次使用ajax上傳檔案,並且不通過form表單進行上傳,之前使用ajax上傳檔案時是藉助一個叫form.js的檔案,可以直接使用$.ajaxSumbmit直接提交表單,但這次不同,就是使用ajax上傳,並且將圖片資訊放在ajax要上傳的資料data陣列或物件中,怎麼
微信公眾號開發之選擇圖片,上傳圖片,下載圖片,顯示圖片
function clickImg(that){ wx.chooseImage({ count: 1, needResult: 1, sizeType: ['original', 'compressed'], // 可以指定是原圖還是壓
iOS整合七牛雲(上傳圖片,視訊,音訊等檔案)
用的CocoaPods匯入SDK platform :ios,'9.0' target '專案名' do pod 'AFNetworking' pod 'Qiniu' end 匯入標頭檔案 #import<QiniuSDK.h> #i
input上傳圖片,並且實現FileReader實圖片預覽效果
input img <img :src="upImg" alt=""> //屬性繫結為upImg在data()中聲名 <input class="lost" type="file" id="file" @change="upLoadImg($event)" ref="f