springboot中怎么實(shí)現(xiàn)文件上傳,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
成都創(chuàng)新互聯(lián)公司專注于北塔企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城開發(fā)。北塔網(wǎng)站建設(shè)公司,為北塔等地區(qū)提供建站服務(wù)。全流程按需求定制制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
第一步編寫上傳的前段頁面
第二步寫對應(yīng)的js頁面
/** * @Name:historyStorageCtrl,井史數(shù)據(jù)入庫 * @Date:2019-06-19 * @Author:huofenwei */(function (angular) { 'use strict'; angular.module('Lujing').controller('historyStorageCtrl', ['$scope', '$http', 'ToastService', '$compile', '$timeout', 'HttpService','$filter', function ($scope, $http, ToastService, $compile, $timeout, HttpService,$filter) { $scope.fileInvalid = false; var $fileInput = initFileInput("importFile", '/server/search/upload'); /** *初始化文件上傳 */ function initFileInput(ctrlName, uploadUrl) { var control = $('#' + ctrlName); control.fileinput({ language: 'zh', uploadUrl: uploadUrl, //上傳的地址 allowedFileExtensions: ['doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'pdf', 'mp4', 'avi','wmv','asf','asx','rm','rmvb','3gp','mov','m4v','dat','mkv','flv','vob'], showUpload: true, //是否顯示上傳按鈕 showCaption: true, //是否顯示標(biāo)題 showPreview: false, //是否顯示預(yù)覽區(qū)域 browseClass: "btn btn-primary", //按鈕樣式 previewFileIcon: "", }).on('fileuploaderror', fileuploaderror).on("fileuploaded", function (event, data, previewId, index) { // console.log(data);.on('fileselect', fileselect) $scope.$apply(function () { $scope.fileId = data.response.fileId; // 未執(zhí)行 $scope.document.fileName = data.files[0].name; }); }).on("filecleared", function (event, data, msg) { $scope.$apply(function () { $scope.fileInvalid = false; }); }); return control; } /** * 清空輸入框 */ function importClearFunc() { if ($fileInput) $fileInput.fileinput('clear'); $scope.fileInvalid = false; } /** * 文件上傳錯誤 **/ function fileuploaderror(event, data, msg) { $scope.fileInvalid = true; $scope.$apply(); $('.modal-body .kv-upload-progress').css('display', 'none'); if (!(data.jqXHR.responseJSON)) { //文件類型驗(yàn)證錯誤 $('#fileError').html(msg); } else { //上傳錯誤 console.log(data); var statusCode = data.jqXHR.responseJSON.message; var errorMsg = HTTP_ERROR_MAP['' + statusCode]; $('#fileError').html(errorMsg); } } /** * add 打開添加模態(tài)框 */ $scope.openAddModal = function () { $scope.document = {}; $scope.document.classificationId = 1; $scope.document.starGrade = 5; $timeout(importClearFunc); // openModeldialog(); }; /** * 表單驗(yàn)證 * @returns {boolean} */ function formVlidate() { if (!$scope.document.introduction) { return false; } if (!$scope.document.keyPackage) { return false; } return true; } /** * 提交表單信息 */ $scope.submitFileInfo = function () { if (!$scope.fileId) { // ToastService.alert("提示", "先上傳文件,再提交表單", "info"); console.error("先上傳文件,再提交表單"); return; } if (!formVlidate()) { // ToastService.alert("提示", "請?zhí)畛浔韱?, "info"); console.error("請?zhí)畛浔韱?); return; } $scope.params = { 'introduction': $scope.document.introduction,//簡介 'keyPackage': $scope.document.keyPackage,//可能查詢的關(guān)鍵字 'starGrade': $scope.document.starGrade,//星級 'classificationId': $scope.document.classificationId,//文件的id 'filePath': $scope.fileId,//文件的路徑 'docName': $scope.document.fileName,//文件的名字 'author':$scope.document.author, 'unit':$scope.document.unit, 'writeDate':$scope.document.writeDate?$scope.document.writeDate.format("yyyy-MM-dd hh:mm:ss"):$scope.document.writeDate, 'jh': $scope.document.jh, 'id': $scope.document.id }; HttpService.post("/server/search/submit", $scope.params).then(function (data) { $('#documentOprModal').modal('hide'); // $("#contTable").bootstrapTable('refresh'); console.error("提交文件信息成功"); }, function (response) { // ToastService.alert("提示", "提交文件信息出錯", "warning"); console.error("提交文件信息出錯"); }); } }])})(angular);
第三部編寫后臺上傳文件和提交表單的代碼
package com.shiwen.yitihui.server.controller;import java.io.File;import java.util.Date;import java.util.HashMap;import java.util.Map;import java.util.UUID;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import org.springframework.web.multipart.MultipartFile;import com.shiwen.yitihui.common.Snowflake;import com.shiwen.yitihui.domain.DocClassification;import com.shiwen.yitihui.domain.DocType;import com.shiwen.yitihui.domain.DocumentFile;import com.shiwen.yitihui.domain.FileEntity;import com.shiwen.yitihui.server.service.DocumentFileService;/*** @author wangjie:* @version 創(chuàng)建時間:2019年8月26日 上午11:54:22* @Description 類描述:*/@RestController@RequestMapping("/search")public class UploadFileController {@Autowiredprivate DocumentFileService dfservice;private String uploadPath="E://file";/** * 上傳文件 * @param file * @return */@PostMapping("/upload")public Map
關(guān)于springboot中怎么實(shí)現(xiàn)文件上傳問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。