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

网络联盟推广搜网站首页不见了seo

网络联盟推广,搜网站首页不见了seo,模块化网站开发,如何搭建一个论坛作者#xff1a;fyupeng 技术专栏#xff1a;☞ https://github.com/fyupeng 项目地址#xff1a;☞ https://github.com/fyupeng/distributed-blog-system-api 留给读者 开发人员往往会经常需要通过浏览器下载文件、图片或者PDF或者缩略图等#xff0c;这时候我们可以根据… 作者fyupeng 技术专栏☞ https://github.com/fyupeng 项目地址☞ https://github.com/fyupeng/distributed-blog-system-api 留给读者 开发人员往往会经常需要通过浏览器下载文件、图片或者PDF或者缩略图等这时候我们可以根据自己的需求自定义设置安全性就可以由自己来把握。 一、介绍 难点主要在于把文件路径当成参数传给后端后端根据一定的规则处理将结果写入响应返回给浏览器。 优点 使用懒加载方式如果本地有就不从OSS获取本地没有先从OSS下载到本地以便频繁下载文件时降低OSS的出入流量。待补充 二、代码 /*** Auther: fyp* Date: 2024/7/26* Description: 文件预览处理器* Package: com.gwssi.common.web* Version: 1.0*/Controller public class FilePreviewController {//本地测试可改为自己的路径//private static final String FILE_DIRECTORY D:/upload/;private static final String FILE_DIRECTORY /data/hqzr/;ResponseBodyRequestMapping(value /file/{fileUrl}/**, method RequestMethod.GET)public void getFile(PathVariable String fileUrl, HttpServletRequest req, HttpServletResponse resp) throws IOException {String path req.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE).toString();String path2 req.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE).toString();String args new AntPathMatcher().extractPathWithinPattern(path2, path);args args.replace(.do, );fileUrl fileUrl / args;File file new File(FILE_DIRECTORY fileUrl);byte[] bytes null;// 添加安全检查确保文件确实在预期的目录中if (!file.exists() || !file.isFile() || !file.getCanonicalPath().startsWith(new File(FILE_DIRECTORY).getCanonicalPath())) {// 处理非法访问例如返回404File parentDir file.getParentFile();if (!parentDir.exists()) {parentDir.mkdirs(); // 确保文件所在的目录存在}bytes OssUtil.downloadByBytes(FILE_DIRECTORY fileUrl);if (null ! bytes) {FileOutputStream fos new FileOutputStream(file);fos.write(bytes);fos.close();resp.reset(); // 非常重要} else {MapString, String map new HashMapString, String();map.put(code, -100);map.put(msg, 文件预览失败);ResponseUtil.returnFrontByJSON(map, resp);}}// 设置适当的响应头纯下载方式//resp.setContentType(application/octet-stream; charsetutf-8);//resp.setHeader(Content-Disposition, attachment;filename file.getName());// 直接预览打开resp.setContentType(image/png); // 设置返回的文件类型resp.addHeader(Content-Length, String.valueOf(file.length())); //文件大小// 使用ServletOutputStream将图片数据写入响应try (ServletOutputStream outputStream resp.getOutputStream();BufferedInputStream inputStream new BufferedInputStream(new FileInputStream(file))) {// 从文件服务器获取if (null ! bytes) {outputStream.write(bytes);} else {// 从本地获取byte[] buffer new byte[4096];int bytesRead -1;// 读取文件内容并写入响应while ((bytesRead inputStream.read(buffer)) ! -1) {outputStream.write(buffer, 0, bytesRead);}}// 刷新输出流确保所有数据都被发送outputStream.flush();}}private String getMimeType(File file) {// 这里可以根据文件扩展名返回相应的MIME类型// 这里只是一个简单的示例实际应用中可能需要更复杂的逻辑String filename file.getName().toLowerCase();if (filename.endsWith(.png)) {return MediaType.IMAGE_PNG_VALUE;} else if (filename.endsWith(.jpg) || filename.endsWith(.jpeg)) {return MediaType.IMAGE_JPEG_VALUE;}// 添加更多MIME类型判断...return MediaType.APPLICATION_OCTET_STREAM_VALUE; // 默认类型} } 三、总结 简洁、高效、实用
http://www.w-s-a.com/news/879738/

相关文章:

  • 海洋牧场网站建设大良网站设计价格
  • 手机端网站关键字排名北京seo公司哪家好
  • 福建建设培训中心网站网站建站服务公司地址
  • 青岛网站优化快速排名企业网址怎么整
  • 做公司网站用什么系统seo搜索排名优化方法
  • dw怎么做网站标题图标做网站重庆
  • 机场建设相关网站公司官网设计制作
  • 大学网站建设的目标技术支持 优府网络太原网站建设
  • wordpress设置密码访问带提示广州做网站优化哪家专业
  • 如何帮人做网站赚钱西安室内设计公司排名
  • 房产网站建设产品网站域名和邮箱域名
  • 网站建设核心优势seo求职信息
  • 网站手册自己在百度上可以做网站吗
  • 影楼网站源码建行业网站的必要性
  • 深圳app网站设计软件开发公司税收优惠政策
  • 北京市中关村有哪家可以做网站维护客户管理系统 wordpress
  • 做网站拉客户有效吗全景图网页制作工具
  • 网站建设公司行业建设网站需要提供什么资料
  • 别人的做网站网页打不开图片
  • 北京专业网站设计推荐怎么建立网站网址
  • 上海网站建设开发公司哪家好网站数据搬家
  • 杭州建站平台哪里有免费的网站推广软件
  • 深圳极速网站建设服务什么网站可以做产品入驻
  • 淄博易宝网站建设app推广拉新公司
  • 营销型外贸网站建设软件备案域名出租
  • 网站域名禁止续费m99ww094cn 苍井空做的网站
  • 上海建设工程网站大同网站建设熊掌号
  • 设计类书籍网站江苏网站建设简介模板
  • 手机企业网站推广c 手机app开发
  • 网站建设需要多少天凡客建设网站稳定吗