当前位置: 首页 > news >正文

公司网站实名认证企业信用信息查询系统

公司网站实名认证,企业信用信息查询系统,重庆三类人员查询,wordpress搭建相册在Spring Boot项目中实现文件的上传、下载和预览功能#xff0c;可以通过使用Spring MVC的MultipartFile接口来处理文件上传#xff0c;并使用HttpServletResponse或Resource来实现文件下载和预览。下面是如何实现这些功能的完整示例。 1. 引入依赖 确保在pom.xml中引入了S…在Spring Boot项目中实现文件的上传、下载和预览功能可以通过使用Spring MVC的MultipartFile接口来处理文件上传并使用HttpServletResponse或Resource来实现文件下载和预览。下面是如何实现这些功能的完整示例。 1. 引入依赖 确保在pom.xml中引入了Spring Boot的相关依赖。通常情况下Spring Boot Starter Web已经包含了必要的依赖。 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId /dependency2. 创建文件上传、下载和预览的Controller 你可以创建一个FileController来处理文件的上传、下载和预览。 import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.Resource; import org.springframework.core.io.UrlResource; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.support.ServletUriComponentsBuilder;import java.io.IOException; import java.net.MalformedURLException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardCopyOption;Controller RequestMapping(/files) public class FileController {// 文件保存路径可以通过配置文件进行配置Value(${file.upload-dir})private String fileUploadDir;// 文件上传PostMapping(/upload)ResponseBodypublic String uploadFile(RequestParam(file) MultipartFile file) throws IOException {// 获取文件名并且保存文件String fileName file.getOriginalFilename();Path targetLocation Paths.get(fileUploadDir).resolve(fileName);Files.copy(file.getInputStream(), targetLocation, StandardCopyOption.REPLACE_EXISTING);// 返回文件下载的URLString fileDownloadUri ServletUriComponentsBuilder.fromCurrentContextPath().path(/files/download/).path(fileName).toUriString();return File uploaded successfully: fileDownloadUri;}// 文件下载GetMapping(/download/{fileName})public ResponseEntityResource downloadFile(PathVariable String fileName) throws MalformedURLException {Path filePath Paths.get(fileUploadDir).resolve(fileName).normalize();Resource resource new UrlResource(filePath.toUri());if (!resource.exists()) {return ResponseEntity.notFound().build();}return ResponseEntity.ok().contentType(MediaType.APPLICATION_OCTET_STREAM).header(HttpHeaders.CONTENT_DISPOSITION, attachment; filename\ resource.getFilename() \).body(resource);}// 文件预览主要针对图片、PDF等可以直接在浏览器中显示的文件GetMapping(/preview/{fileName})public ResponseEntityResource previewFile(PathVariable String fileName) throws MalformedURLException {Path filePath Paths.get(fileUploadDir).resolve(fileName).normalize();Resource resource new UrlResource(filePath.toUri());if (!resource.exists()) {return ResponseEntity.notFound().build();}String contentType application/octet-stream;try {contentType Files.probeContentType(filePath);} catch (IOException e) {e.printStackTrace();}return ResponseEntity.ok().contentType(MediaType.parseMediaType(contentType)).body(resource);} }3. 配置文件上传目录 在application.properties或application.yml中配置文件的上传路径 file.upload-dirC:/uploads或者使用application.yml file:upload-dir: C:/uploads你可以将路径配置为你项目的目录也可以指定到服务器的某个位置。 4. 创建上传目录 确保在你的系统上已经创建了配置文件中指定的上传目录比如C:/uploads。如果没有创建可以通过代码在项目启动时自动创建 import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component;import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths;Component public class FileUploadDirectoryInitializer implements CommandLineRunner {Value(${file.upload-dir})private String fileUploadDir;Overridepublic void run(String... args) throws Exception {Path uploadPath Paths.get(fileUploadDir);if (!Files.exists(uploadPath)) {Files.createDirectories(uploadPath);}} }5. 测试上传、下载和预览 5.1 文件上传 你可以使用Postman、cURL或者前端页面来测试文件上传功能。上传文件的URL为 POST http://localhost:8080/files/upload参数名称为file。 5.2 文件下载 你可以通过以下URL下载文件 GET http://localhost:8080/files/download/{fileName}其中{fileName}是文件的名称。 5.3 文件预览 你可以通过以下URL预览文件如图片或PDF GET http://localhost:8080/files/preview/{fileName} 6. 处理大文件上传 对于大文件上传Spring Boot默认的最大上传文件大小可能不满足需求可以通过以下配置进行调整 spring.servlet.multipart.max-file-size100MB spring.servlet.multipart.max-request-size100MB或者在application.yml中 spring:servlet:multipart:max-file-size: 100MBmax-request-size: 100MB7. 文件预览类型支持 通常情况下浏览器支持预览的文件类型包括图片如jpeg、png、PDF、文本文件等。如果文件类型不被浏览器支持通常可以通过文件下载的方式处理。 8. 文件删除功能可选 你也可以添加一个删除文件的接口来删除已上传的文件 // 文件删除 DeleteMapping(/delete/{fileName}) ResponseBody public String deleteFile(PathVariable String fileName) throws IOException {Path filePath Paths.get(fileUploadDir).resolve(fileName).normalize();Files.deleteIfExists(filePath);return File deleted successfully; }
http://www.hkea.cn/news/14485792/

相关文章:

  • 北京通州区网站制作热搜榜上2023年热门话题
  • 网站后台编辑器wordpress 替代
  • 百度小程序跟做网站外贸网站的特点
  • 企业网站备案在哪个部门福州网站建设索q479185700
  • 网站建设免费的网站建设合同 售后维护期
  • 中科时代建设官方网站网站广告尺寸
  • 网站建设上机考试题目discuz 做家教网站
  • 设计网站都有什么作用太原做网站的鸣蝉公司
  • 如何做ps4的游戏视频网站制作一个门户网站需要多少钱
  • 北京wap网站开发泰安市建设职工培训中心网站进不去
  • 互联网做视频网站需要许可证吗台州网站制作报价
  • 免费的建站软件有哪些滨海新区建设和交通局网站
  • 哪里做网站seo开发公司 网站建设
  • wordpress 资源站模板邯郸比较有名的网络推广公司
  • 做外掛网站空间北京十大室内设计工作室
  • tdk标签影响网站权重网络营销的四种策略
  • 有哪些网站可以做ps挣钱旅游网站建站
  • 贵州省城乡住房建设厅网站张家港建网站
  • 青岛seo网站排名优化微信开发流程四步
  • 一键logo设计网广州seo顾问服务
  • 长沙企业模板建站做盗版系统网站会不会
  • 有什么网站可以做平面兼职给企业做网站的公司西安
  • 法国网站域名新网站建设方案
  • 静态网站怎么做wordpress 阿里云存储
  • 本地php网站搭建怎么创建个人的网站
  • 不知名网站开发唐山房地产网站建设
  • 靖江网站建设制作wordpress 主题制件
  • 什么专业可以做网站编辑lazy load wordpress
  • 简述可口可乐公司的企业网站建设福州做网站互联网公司
  • 2018年做返利网站企业建设厂房需要办哪些证