|
@@ -1,18 +1,23 @@
|
|
|
package cn.nosum.wx.cp.controller;
|
|
|
|
|
|
+import cn.nosum.http.SimpleDownloadRequestExecutor;
|
|
|
import cn.nosum.http.entity.DownloadResponse;
|
|
|
import cn.nosum.http.entity.UploadRequest;
|
|
|
import cn.nosum.wx.common.api.WxConsts;
|
|
|
import cn.nosum.wx.common.entity.result.WxMediaUploadResult;
|
|
|
import cn.nosum.wx.common.error.WxErrorException;
|
|
|
+import cn.nosum.wx.cp.api.WxCpMediaService;
|
|
|
+import cn.nosum.wx.cp.api.WxCpService;
|
|
|
import cn.nosum.wx.cp.config.WxCpConfiguration;
|
|
|
import lombok.SneakyThrows;
|
|
|
import org.apache.tomcat.util.http.fileupload.IOUtils;
|
|
|
+import org.springframework.context.support.ClassPathXmlApplicationContext;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import java.io.*;
|
|
|
+import java.net.URLEncoder;
|
|
|
|
|
|
/**
|
|
|
* 素材管理.
|
|
@@ -24,6 +29,15 @@ import java.io.*;
|
|
|
public class MediaController {
|
|
|
|
|
|
@SneakyThrows
|
|
|
+ @RequestMapping("/upload/url")
|
|
|
+ public WxMediaUploadResult uploadByUrl(String url, Integer appId) {
|
|
|
+ DownloadResponse execute = SimpleDownloadRequestExecutor.create(WxCpConfiguration.getCpService(appId).getRequestHttp()).execute("https://s3.cn-north-1.amazonaws.com.cn/s3-000045-cfglpic/fc61e4cc-41bb-40cd-8031-0e97e4d09924_%7BA2F6210E-02AD-4DA6-83B4-85CD78EAA24E%7D.png", null);
|
|
|
+ ByteArrayOutputStream byteArrayOutputStream = (ByteArrayOutputStream) execute.getOutputStream();
|
|
|
+ UploadRequest request = UploadRequest.builder().inputStream(new ByteArrayInputStream(byteArrayOutputStream.toByteArray())).fileName("test").build();
|
|
|
+ return WxCpConfiguration.getCpService(appId).getMediaService().upload(WxConsts.MediaFileType.IMAGE, request);
|
|
|
+ }
|
|
|
+
|
|
|
+ @SneakyThrows
|
|
|
@RequestMapping("/upload")
|
|
|
public WxMediaUploadResult upload(MultipartFile file, Integer appId) {
|
|
|
UploadRequest request = UploadRequest.builder().inputStream(file.getInputStream()).fileName(file.getOriginalFilename()).build();
|