| @@ -19,7 +19,7 @@ public class FileUtils { | |||||
| File resultFile = File.createTempFile(name, '.' + ext, tmpDirFile); | File resultFile = File.createTempFile(name, '.' + ext, tmpDirFile); | ||||
| resultFile.deleteOnExit(); | resultFile.deleteOnExit(); | ||||
| org.apache.commons.io.FileUtils.copyInputStreamToFile(inputStream, resultFile); | |||||
| org.apache.commons.io.FileUtils.copyToFile(inputStream, resultFile); | |||||
| return resultFile; | return resultFile; | ||||
| } | } | ||||
| @@ -1,11 +1,9 @@ | |||||
| package me.chanjar.weixin.common.util.http.apache; | package me.chanjar.weixin.common.util.http.apache; | ||||
| import me.chanjar.weixin.common.error.WxError; | |||||
| import me.chanjar.weixin.common.error.WxErrorException; | |||||
| import me.chanjar.weixin.common.util.fs.FileUtils; | |||||
| import me.chanjar.weixin.common.util.http.HttpResponseProxy; | |||||
| import me.chanjar.weixin.common.util.http.BaseMediaDownloadRequestExecutor; | |||||
| import me.chanjar.weixin.common.util.http.RequestHttp; | |||||
| import java.io.File; | |||||
| import java.io.IOException; | |||||
| import java.io.InputStream; | |||||
| import org.apache.commons.io.FilenameUtils; | import org.apache.commons.io.FilenameUtils; | ||||
| import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
| import org.apache.http.Header; | import org.apache.http.Header; | ||||
| @@ -16,9 +14,12 @@ import org.apache.http.client.methods.HttpGet; | |||||
| import org.apache.http.entity.ContentType; | import org.apache.http.entity.ContentType; | ||||
| import org.apache.http.impl.client.CloseableHttpClient; | import org.apache.http.impl.client.CloseableHttpClient; | ||||
| import java.io.File; | |||||
| import java.io.IOException; | |||||
| import java.io.InputStream; | |||||
| import me.chanjar.weixin.common.error.WxError; | |||||
| import me.chanjar.weixin.common.error.WxErrorException; | |||||
| import me.chanjar.weixin.common.util.fs.FileUtils; | |||||
| import me.chanjar.weixin.common.util.http.BaseMediaDownloadRequestExecutor; | |||||
| import me.chanjar.weixin.common.util.http.HttpResponseProxy; | |||||
| import me.chanjar.weixin.common.util.http.RequestHttp; | |||||
| /** | /** | ||||
| * Created by ecoolper on 2017/5/5. | * Created by ecoolper on 2017/5/5. | ||||
| @@ -45,8 +46,7 @@ public class ApacheMediaDownloadRequestExecutor extends BaseMediaDownloadRequest | |||||
| } | } | ||||
| try (CloseableHttpResponse response = requestHttp.getRequestHttpClient().execute(httpGet); | try (CloseableHttpResponse response = requestHttp.getRequestHttpClient().execute(httpGet); | ||||
| InputStream inputStream = InputStreamResponseHandler.INSTANCE | |||||
| .handleResponse(response)) { | |||||
| InputStream inputStream = InputStreamResponseHandler.INSTANCE.handleResponse(response)) { | |||||
| Header[] contentTypeHeader = response.getHeaders("Content-Type"); | Header[] contentTypeHeader = response.getHeaders("Content-Type"); | ||||
| if (contentTypeHeader != null && contentTypeHeader.length > 0) { | if (contentTypeHeader != null && contentTypeHeader.length > 0) { | ||||
| if (contentTypeHeader[0].getValue().startsWith(ContentType.APPLICATION_JSON.getMimeType())) { | if (contentTypeHeader[0].getValue().startsWith(ContentType.APPLICATION_JSON.getMimeType())) { | ||||
| @@ -1,5 +1,13 @@ | |||||
| package me.chanjar.weixin.common.util.http.jodd; | package me.chanjar.weixin.common.util.http.jodd; | ||||
| import java.io.ByteArrayInputStream; | |||||
| import java.io.File; | |||||
| import java.io.IOException; | |||||
| import java.io.InputStream; | |||||
| import org.apache.commons.io.FilenameUtils; | |||||
| import org.apache.commons.lang3.StringUtils; | |||||
| import jodd.http.HttpConnectionProvider; | import jodd.http.HttpConnectionProvider; | ||||
| import jodd.http.HttpRequest; | import jodd.http.HttpRequest; | ||||
| import jodd.http.HttpResponse; | import jodd.http.HttpResponse; | ||||
| @@ -8,16 +16,9 @@ import jodd.util.StringPool; | |||||
| import me.chanjar.weixin.common.error.WxError; | import me.chanjar.weixin.common.error.WxError; | ||||
| import me.chanjar.weixin.common.error.WxErrorException; | import me.chanjar.weixin.common.error.WxErrorException; | ||||
| import me.chanjar.weixin.common.util.fs.FileUtils; | import me.chanjar.weixin.common.util.fs.FileUtils; | ||||
| import me.chanjar.weixin.common.util.http.HttpResponseProxy; | |||||
| import me.chanjar.weixin.common.util.http.BaseMediaDownloadRequestExecutor; | import me.chanjar.weixin.common.util.http.BaseMediaDownloadRequestExecutor; | ||||
| import me.chanjar.weixin.common.util.http.HttpResponseProxy; | |||||
| import me.chanjar.weixin.common.util.http.RequestHttp; | import me.chanjar.weixin.common.util.http.RequestHttp; | ||||
| import org.apache.commons.io.FilenameUtils; | |||||
| import org.apache.commons.lang3.StringUtils; | |||||
| import java.io.ByteArrayInputStream; | |||||
| import java.io.File; | |||||
| import java.io.IOException; | |||||
| import java.io.InputStream; | |||||
| /** | /** | ||||
| * Created by ecoolper on 2017/5/5. | * Created by ecoolper on 2017/5/5. | ||||
| @@ -57,9 +58,12 @@ public class JoddHttpMediaDownloadRequestExecutor extends BaseMediaDownloadReque | |||||
| return null; | return null; | ||||
| } | } | ||||
| InputStream inputStream = new ByteArrayInputStream(response.bodyBytes()); | |||||
| return FileUtils.createTmpFile(inputStream, FilenameUtils.getBaseName(fileName), FilenameUtils.getExtension(fileName), | |||||
| super.tmpDirFile); | |||||
| try (InputStream inputStream = new ByteArrayInputStream(response.bodyBytes())) { | |||||
| return FileUtils.createTmpFile(inputStream, | |||||
| FilenameUtils.getBaseName(fileName), | |||||
| FilenameUtils.getExtension(fileName), | |||||
| super.tmpDirFile); | |||||
| } | |||||
| } | } | ||||
| @@ -1,12 +1,12 @@ | |||||
| package me.chanjar.weixin.cp.api; | package me.chanjar.weixin.cp.api; | ||||
| import me.chanjar.weixin.common.bean.result.WxMediaUploadResult; | |||||
| import me.chanjar.weixin.common.error.WxErrorException; | |||||
| import java.io.File; | import java.io.File; | ||||
| import java.io.IOException; | import java.io.IOException; | ||||
| import java.io.InputStream; | import java.io.InputStream; | ||||
| import me.chanjar.weixin.common.bean.result.WxMediaUploadResult; | |||||
| import me.chanjar.weixin.common.error.WxErrorException; | |||||
| /** | /** | ||||
| * <pre> | * <pre> | ||||
| * 媒体管理接口 | * 媒体管理接口 | ||||
| @@ -30,7 +30,7 @@ public interface WxCpMediaService { | |||||
| * | * | ||||
| * @param mediaType 媒体类型, 请看{@link me.chanjar.weixin.common.api.WxConsts} | * @param mediaType 媒体类型, 请看{@link me.chanjar.weixin.common.api.WxConsts} | ||||
| * @param fileType 文件类型,请看{@link me.chanjar.weixin.common.api.WxConsts} | * @param fileType 文件类型,请看{@link me.chanjar.weixin.common.api.WxConsts} | ||||
| * @param inputStream 输入流 | |||||
| * @param inputStream 输入流,需要调用方控制关闭该输入流 | |||||
| */ | */ | ||||
| WxMediaUploadResult upload(String mediaType, String fileType, InputStream inputStream) | WxMediaUploadResult upload(String mediaType, String fileType, InputStream inputStream) | ||||
| throws WxErrorException, IOException; | throws WxErrorException, IOException; | ||||