到/usr/local/nginx/conf目录下,修改nginx的配置文件nginx.conf,保存退出。
启动nginx
[root@192 sbin]# pwd /usr/local/nginx/sbin [root@192 sbin]# ./nginx然后现在就可以在浏览器访问刚才那个文件的路径了。
四,springboot访问FastDFS实现文件上传1,添加依赖
<dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <version>1.26.1-RELEASE</version> </dependency>2,在启动类上添加注解引入配置文件类
@Import(FdfsClientConfig.class)3,在application.properties加入FastDFS的相关配置
# 超时时间 fdfs.so-timeout=1500 # 连接的超时时间 fdfs.connect-timeout=600 # 连接池 fdfs.pool.jmx-enabled=false # 缩略图尺寸 fdfs.thumb-image.height=100 fdfs.thumb-image.width=100 # tracker服务跟踪器的地址 fdfs.tracker-list=192.168.186.129:22122这里插一句,提前先把linux的防火墙设置为22122端口和23000端口放行,否则后续的测试会因为连不上跟踪器报错。
@Autowired FastFileStorageClient fastFileStorageClient;//直接引入 @RequestMapping("/fastdfs") @ResponseBody public String fastdfs() throws FileNotFoundException { File file=new File("D://文件笔记//image//1571884758247.png"); //文件名 String fileName=file.getName(); //后缀名 String extName=fileName.substring(fileName.lastIndexOf(".")+1); //创建流 FileInputStream fileInputStream=new FileInputStream(file); //四个参数(输入流,文件大小,后缀名,null),返回一个路径 StorePath storePath = fastFileStorageClient.uploadFile(fileInputStream, file.length(), extName, null); //不同路径 System.out.println(storePath.getFullPath()); System.out.println(storePath.getPath()); System.out.println(storePath.getGroup()); return "图片上传成功,并调皮的给您返回一个路径"; }分别看浏览器和控制台
然后在浏览器输入访问路径(nginx的ip地址和端口加上storePath.getFullPath()的路径),例如
:80/group1/M00/00/00/wKi6gV26SV6ALJu6AAB5lQx82SU564.png
然后就可以访问刚才上传的图片了
五,改造成业务代码html表单项
<form action="/demo/fastdfs" method="post" enctype="multipart/form-data"> fastDFS测试:<input type="file"><input type="submit" value="测试上传"> </form>controller上传业务代码
@Autowired FastFileStorageClient fastFileStorageClient; /** *fastDFS服务器测试文件上传 */ @RequestMapping("/fastdfs") @ResponseBody public String fastdfs(@RequestParam(value = "test") MultipartFile test) throws IOException { //文件名 String fileName=test.getOriginalFilename(); //后缀名 String extName=fileName.substring(fileName.lastIndexOf(".")+1); //四个参数(输入流,文件大小,后缀名,null),返回一个路径 StorePath storePath = fastFileStorageClient.uploadFile(test.getInputStream(),test.getSize(), extName, null); //不同路径 System.out.println(storePath.getFullPath()); System.out.println(storePath.getPath()); System.out.println(storePath.getGroup()); return "图片上传成功,并调皮的给您返回一个路径"; }控制台打印