栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

fastDFS安装及SpringBoot使用教程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

fastDFS安装及SpringBoot使用教程

安装fastDFS及SpringBoot使用 下载fastDFS及nginx
链接:https://pan.baidu.com/s/1t4uAHgmDFi0W6fs8_1ZxeA 
提取码:lakw
安装步骤 环境安装
yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y
安装libfastcommon
将libfastcommon、fastdfs和fastdfs-nginx解压文件放到 home/fdfs下
cd libfastcommon-master/
编译安装
./make.sh && ./make.sh install 

若提示权限不够可使用chmod u+x *.sh设置权限

控制台出现以下信息表示编译并且安装成功
mkdir -p /usr/lib64
mkdir -p /usr/lib
mkdir -p /usr/include/fastcommon
安装fastdfs
cd fastdfs-master/
编译安装
./make.sh && ./make.sh install

若提示权限不够可使用chmod u+x *.sh设置权限

控制台出现以下信息表示编译并且安装成功
mkdir -p /usr/bin
mkdir -p /etc/fdfs
mkdir -p /usr/lib64
mkdir -p /usr/lib
配置tracker服务 将fastdfs配置文件全部复制到etc/fdfs/目录下
cp -r /home/fdfs/fastdfs-master/conf
	@Override
	public String uploadFile(MultipartFile file) {
	   //获取文件后缀位置
	   int index = file.getOriginalFilename().lastIndexOf(".");
	   //文件后缀名
	   String fileSuffix = file.getOriginalFilename().substring(index + 1);
	   try {
	       //将文件上传到fastDFS
	       StorePath storePath = fastFileStorageClient.uploadFile(file.getInputStream(), file.getSize(), fileSuffix, null);
	       String filePath = storePath.getFullPath(); //获取上传文件路径
	       logger.info("文件路径为:" + filePath);
	       return filePath;
	   }catch (Exception e){
	       e.printStackTrace();
	       logger.info("上传文件失败");
	   }
	
	   return null;
	}
文件下载
	@RequestMapping("/download")
    public Map downloadFile(String fileName, HttpServletResponse response) {
        fileService.downloadFile(fileName, response);
        return null;
    }
    
 	
	    @Override
	    public void downloadFile(String filePath, HttpServletResponse response) {
	        String group = filePath.substring(0, filePath.indexOf("/"));
	        String path = filePath.substring(filePath.indexOf("/") + 1);
	        String fileSuffix = filePath.substring(filePath.lastIndexOf(".") + 1);
	        String fileName = filePath.substring(filePath.lastIndexOf("/") + 1, filePath.lastIndexOf("."));
	
	        ServletOutputStream outputStream = null;
	        try{
	        	//下载文件
	            byte[] bytes = fastFileStorageClient.downloadFile(group, path, new DownloadByteArray());
	            response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(fileName.concat(fileSuffix), "UTF-8"));
	            response.setCharacterEncoding("UTF-8");
	            outputStream = response.getOutputStream();
	            outputStream.write(bytes);
	
	        } catch (IOException e) {
	            e.printStackTrace();
	            logger.info("下载文件失败");
	        } finally {
	            try {
	                outputStream.flush();
	                outputStream.close();
	            } catch (IOException e) {
	                e.printStackTrace();
	            }
	        }
	    }
文件删除
	    @Override
	    public Map deleteFile(Map context) {
	        Map requestBody = ContextUtil.getRequestBody(context);
	        try {
	            String filePath = StringUtil.getAsString(requestBody.get("filePath"));
	            if(filePath == null || "".equals(filePath)){
	                throw new Exception("文件路径不能为空");
	            }
	            fastFileStorageClient.deleteFile(filePath);
	        }catch (Exception e){
	            e.printStackTrace();
	            logger.info("删除文件失败");
	        }
	        return null;
	    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/631957.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号