您好,登錄后才能下訂單哦!
小編給大家分享一下微信小程序實現上傳照片代碼的案例分析,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
紙上談坑
在我實現了這個功能之前,我講講我是怎么在這個坑里爬上來的:
我實現上傳文件后端的接口的參數是String類型的
前臺傳的參數:https://cache.yisu.com/upload/information/20200804/112/168.png
但由于這張是本地照片url(外網無法訪問),我后臺拿到的是一個String類型,是沒有辦法是去識別這是一張圖片的,訪問不了這個數據,僅僅把它當做字符串而已。(低級錯誤)
代碼實現
前言:后端接受文件有2種方式(參數): 1. MultipartFile 2.base64
微信上傳文件的開發文檔
小程序代碼
<!-- index.wxml --> <view> <view>文件上傳</view> <view> <input id="file" type="file" bindtap="uploader"></input> </view> </view> // index.js Page({ data: { }, uploader: function () { wx.chooseImage({ count: 1, success: function(res) { let imgPath = res.tempFilePaths[0] wx.uploadFile({ url: 'http://localhost:8080/customerRegister/uploadPricture', filePath: imgPath, name: 'files', success:res=>{ console.log(res) } }) } }) }, })
java后端代碼
@RequestMapping(value = "/customerRegister",produces = "application/json;charset=utf-8") public class { @RequestMapping("/uploadPricture") @ResponseBody public String uploadPricture(@RequestParam("file") MultipartFile[] file) throws IOException { MultipartFile multipartFile = file[0]; System.out.println("圖片名稱:"+multipartFile.getOriginalFilename()); InputStream inputStream = multipartFile.getInputStream(); return "{"mas":"ok"}"; }
P.s. 注意:這是一個ssm項目,因此你需要在pom.xml中添加依賴和在springmvc.xml中添加以下代碼(這個問題搞了我幾個小時,因為少了上傳文件的配置,就會導致multipartfile這個類失效)
<!--pom.xml 文件上傳所需要的依賴--> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency> <!--springmvc.xml--> <!-- SpringMVC上傳文件時,需要配置MultipartResolver處理器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="UTF-8"></property> <!-- 指定所上傳的總大小不能超過1T。注意maxUploadSize屬性的限制不是針對單個文件,而是所有文件 --> <property name="maxUploadSize" value="10485760000" /> <property name="maxInMemorySize" value="40960" /> </bean>
看完了這篇文章,相信你對微信小程序實現上傳照片代碼的案例分析有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。