springboot中怎么实现文件上传
springboot中怎么实现文件上传,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
成都创新互联公司专注于北塔企业网站建设,成都响应式网站建设公司,商城开发。北塔网站建设公司,为北塔等地区提供建站服务。全流程按需求定制制作,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务
第一步编写上传的前段页面
文档入库
第二步写对应的js页面
/** * @Name:historyStorageCtrl,井史数据入库 * @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, //是否显示标题 showPreview: false, //是否显示预览区域 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; // 未执行 $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)) { //文件类型验证错误 $('#fileError').html(msg); } else { //上传错误 console.log(data); var statusCode = data.jqXHR.responseJSON.message; var errorMsg = HTTP_ERROR_MAP['' + statusCode]; $('#fileError').html(errorMsg); } } /** * add 打开添加模态框 */ $scope.openAddModal = function () { $scope.document = {}; $scope.document.classificationId = 1; $scope.document.starGrade = 5; $timeout(importClearFunc); // openModeldialog(); }; /** * 表单验证 * @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("提示", "请填充表单", "info"); console.error("请填充表单"); return; } $scope.params = { 'introduction': $scope.document.introduction,//简介 'keyPackage': $scope.document.keyPackage,//可能查询的关键字 '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 创建时间: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
关于springboot中怎么实现文件上传问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。
分享名称:springboot中怎么实现文件上传
本文网址:http://pwwzsj.com/article/iesgcc.html