thinkphp 网站设置功能,怎么搭建本地网站,做网站有回扣拿吗,百度怎么推广自己的产品1、FTP文件服务器的搭建#xff1a; 软件下载#xff1a;ftpserver#xff1b; image.png浏览器访问#xff1a;ftp://127.0.0.1/image.png点击任意一个文件#xff0c;就可以看到我们图片啦#xff0c;前提是前面指定的目录里面有图片文件~ image.png2、接口编写#x… 1、FTP文件服务器的搭建 软件下载ftpserver image.png 浏览器访问ftp://127.0.0.1/ image.png 点击任意一个文件就可以看到我们图片啦前提是前面指定的目录里面有图片文件~ image.png 2、接口编写 1、springmvc方法上传文件 在ProductManageController:中编写下面方法*Controller: //springmvc文件上传接口RequestMapping(upload.do)ResponseBodypublic ServerResponse upload(HttpSession session, RequestParam(value upload_file,required false) MultipartFile file, HttpServletRequest request){User user(User) session.getAttribute(Const.CURRENT_USER);if(usernull){return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(),未登录请先登录);}if(iUserService.checkAdminRole(user).isSuccess()){String pathrequest.getSession().getServletContext().getRealPath(upload);String targetFileNameiFileService.upload(file,path);String url PropertiesUtil.getProperty(ftp.server.http.prefix)targetFileName;Map fileMap Maps.newHashMap();fileMap.put(uri,targetFileName);fileMap.put(url,url);return ServerResponse.createBySuccess(fileMap);}else {return ServerResponse.createByErrorMessage(当前登录者不是管理员无权限操作);}} 这行代码需要注意的是RequestParam(value upload_file,required false) MultipartFile file参数的传入对应的是相关文件类属性。 public ServerResponse upload(HttpSession session, RequestParam(value upload_file,required false) MultipartFile file, HttpServletRequest request)*Service: //文件上传方法实现String upload(MultipartFile file, String path);*ServiceImpl: //文件上传方法实现public String upload(MultipartFile file,String path){String fileNamefile.getOriginalFilename();//扩展名//abc.jpg 我们要拿到jpgString fileExtensionNamefileName.substring(fileName.lastIndexOf(.)1);//防止文件被覆盖我们使用UUID生产的字符串作为文件名这样用户上传同名的文件就不会被覆盖了String uploadFileName UUID.randomUUID().toString().fileExtensionName;logger.info(开始上传文件...上传文件的文件名{},上传的路径{},新文件名{},fileName,path,uploadFileName);//创建文件夹File fileDirnew File(path);if(!fileDir.exists()){fileDir.setWritable(true);fileDir.mkdirs();}//上传文件File targetFilenew File(path,uploadFileName);try {file.transferTo(targetFile);//文件上传成功//将targetFile上传到我们的文件服务器FTPUtil.uploadFile(Lists.newArrayList(targetFile));//文件已经上传到FTP服务器上//上传文件到文件服务器之后删除我们Tomcat里面的文件防止存储文件过多targetFile.delete();} catch (IOException e) {logger.error(上传文件异常,e);return null;}return targetFile.getName();}由于是直接讲文件上传到文件服务器所以不涉及到数据库的操作~ 2、富文本上传 富文本我们选择的是simditor image.png 相关文档位置https://simditor.tower.im/docs/doc-config.html#anchor-defaultImage image.png //富文本上传接口RequestMapping(richtext_img_upload.do)ResponseBodypublic Map richtextImgUpload(HttpSession session, RequestParam(value upload_file,required false) MultipartFile file, HttpServletRequest request, HttpServletResponse response){Map resultMapMaps.newHashMap();User user(User) session.getAttribute(Const.CURRENT_USER);if(usernull){resultMap.put(success,false);resultMap.put(msg,未登录请先登录);return resultMap;}//富文本中对于返回值有自己的要求我们使用是simditor 所以要按照simditor的要求进行返回if(iUserService.checkAdminRole(user).isSuccess()){String pathrequest.getSession().getServletContext().getRealPath(upload);String targetFileNameiFileService.upload(file,path);if(StringUtils.isBlank( targetFileName)){resultMap.put(success,false);resultMap.put(msg,上传失败);return resultMap;}String url PropertiesUtil.getProperty(ftp.server.http.prefix)targetFileName;resultMap.put(success,true);resultMap.put(msg,上传成功);resultMap.put(ile_path,url);response.addHeader(Access-Control-Allow-Headers,X-File-Name);return resultMap;}else {resultMap.put(success,false);resultMap.put(msg,当前登录者不是管理员无权限操作);return resultMap;}}至于上传的upload方法我们还是使用springmvc中使用的方法~ 3、测试接口 接下来就是编写一个页面测试这两个方法啦 在index.jsp页面中编写下面代码 % page languagejava contentTypetext/html; charsetUTF-8pageEncodingUTF-8%
html
body
h2Hello World!/h2springmvc上传文件form nameform1 action/manage/product/upload.do methodpost enctypemultipart/form-datainput typefile nameupload_fileinput typesubmit valuespringmvc上传文件
/form富文本图片上传
form nameform1 action/manage/product/richtext_img_upload.do methodpost enctypemultipart/form-datainput typefile nameupload_fileinput typesubmit value富文本上传文件
/form
/body
/html 1、springmvc测试 1 image.png 2 3 image.png 2、符文本测试 1 image.png 2 3 image.png