From f107bd2f440cea5ff55f19bccea33fdbe5defccf Mon Sep 17 00:00:00 2001 From: huansinho Date: Sun, 14 Jun 2015 02:37:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=B4=E6=97=B6=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E7=9B=AE=E5=BD=95=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在下载多媒体文件下载时可以指定临时文件目录。 --- .../weixin/common/util/fs/FileUtils.java | 23 +++++++++++++++++-- .../http/MediaDownloadRequestExecutor.java | 14 ++++++++++- .../weixin/cp/api/WxCpConfigStorage.java | 4 ++++ .../cp/api/WxCpInMemoryConfigStorage.java | 13 +++++++++++ .../weixin/cp/api/WxCpServiceImpl.java | 16 ++++++++++++- .../weixin/mp/api/WxMpConfigStorage.java | 5 +++- .../mp/api/WxMpInMemoryConfigStorage.java | 17 ++++++++++++-- .../weixin/mp/api/WxMpServiceImpl.java | 4 +++- 8 files changed, 88 insertions(+), 8 deletions(-) diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/fs/FileUtils.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/fs/FileUtils.java index d2ecc42a..718f33e6 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/fs/FileUtils.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/fs/FileUtils.java @@ -7,18 +7,25 @@ import java.io.InputStream; public class FileUtils { + /** * 创建临时文件 * @param inputStream * @param name 文件名 * @param ext 扩展名 + * @param tmpDirFile 临时文件夹目录 * @return * @throws IOException */ - public static File createTmpFile(InputStream inputStream, String name, String ext) throws IOException { + public static File createTmpFile(InputStream inputStream, String name, String ext, File tmpDirFile) throws IOException { FileOutputStream fos = null; try { - File tmpFile = File.createTempFile(name, '.' + ext); + File tmpFile; + if (tmpDirFile == null) { + tmpFile = File.createTempFile(name, '.' + ext); + } else { + tmpFile = File.createTempFile(name, '.' + ext, tmpDirFile); + } tmpFile.deleteOnExit(); fos = new FileOutputStream(tmpFile); int read = 0; @@ -43,5 +50,17 @@ public class FileUtils { } } } + + /** + * 创建临时文件 + * @param inputStream + * @param name 文件名 + * @param ext 扩展名 + * @return + * @throws IOException + */ + public static File createTmpFile(InputStream inputStream, String name, String ext) throws IOException { + return createTmpFile(inputStream, name, ext, null); + } } diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/MediaDownloadRequestExecutor.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/MediaDownloadRequestExecutor.java index dc7f28b4..32a7c917 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/MediaDownloadRequestExecutor.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/MediaDownloadRequestExecutor.java @@ -25,6 +25,18 @@ import java.util.regex.Pattern; * */ public class MediaDownloadRequestExecutor implements RequestExecutor { + + private File tmpDirFile; + + public MediaDownloadRequestExecutor() { + super(); + } + + public MediaDownloadRequestExecutor(File tmpDirFile) { + super(); + this.tmpDirFile = tmpDirFile; + } + @Override public File execute(CloseableHttpClient httpclient, HttpHost httpProxy, String uri, String queryParam) throws WxErrorException, ClientProtocolException, IOException { @@ -59,7 +71,7 @@ public class MediaDownloadRequestExecutor implements RequestExecutor