| | |
| | | */ |
| | | package org.springblade.modules.resource.endpoint; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.fastjson.JSONPObject; |
| | | import io.swagger.annotations.Api; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.SneakyThrows; |
| | |
| | | import org.springblade.core.tool.constant.RoleConstant; |
| | | import org.springblade.core.tool.utils.FileUtil; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.core.tool.utils.ImageUtil; |
| | | import org.springblade.modules.resource.builder.oss.OssBuilder; |
| | | import org.springblade.modules.resource.entity.Attach; |
| | | import org.springblade.modules.resource.entity.AttachData; |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.BufferedReader; |
| | | import java.io.DataOutputStream; |
| | | import java.io.InputStreamReader; |
| | | import java.io.OutputStream; |
| | | import java.net.HttpURLConnection; |
| | | import java.net.URL; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 对象存储端点 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 上传文件指定后缀并保存至附件表 |
| | | * |
| | | * @param file 文件 |
| | | * @return ObjectStat |
| | | */ |
| | | @SneakyThrows |
| | | @PostMapping("/put-file-attach-suffix") |
| | | public R<BladeFile> putFileAttachSuffix(@RequestParam MultipartFile file, @RequestParam String suffix) { |
| | | String fileName = file.getOriginalFilename(); |
| | | String fileExtension = fileName.substring(fileName.lastIndexOf(".") + 1); |
| | | String[] split = suffix.split(","); |
| | | List<String> list = Arrays.asList(split); |
| | | if (list.contains(fileExtension)) { |
| | | BladeFile bladeFile = ossBuilder.template().putFile(fileName, file.getInputStream()); |
| | | Long attachId = buildAttach(fileName, file.getSize(), bladeFile); |
| | | bladeFile.setAttachId(attachId); |
| | | // 修改link |
| | | changeLink(bladeFile); |
| | | // 返回 |
| | | return R.data(bladeFile); |
| | | } else { |
| | | return R.fail("上传的附件必须是pdf,doc,docx格式!"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 上传文件并保存至附件表 |
| | | * |
| | | * @param fileName 存储桶对象名称 |