Skip to content

Commit 825393d

Browse files
committed
Merge branch 'develop'
2 parents f0432e6 + 0491e23 commit 825393d

File tree

14 files changed

+119
-39
lines changed

14 files changed

+119
-39
lines changed

.gitignore

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
1-
*.class
2-
test-output
3-
4-
# Mobile Tools for Java (J2ME)
5-
.mtj.tmp/
6-
7-
# Package Files #
8-
*.jar
9-
*.war
10-
*.ear
11-
12-
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
13-
hs_err_pid*
14-
15-
target
16-
.project
17-
.classpath
18-
19-
sw-pom.xml
20-
*.iml
21-
test-config.xml
22-
.idea
1+
*.class
2+
test-output
3+
4+
# Mobile Tools for Java (J2ME)
5+
.mtj.tmp/
6+
7+
# Package Files #
8+
*.jar
9+
*.war
10+
*.ear
11+
12+
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
13+
hs_err_pid*
14+
15+
target
16+
.project
17+
.classpath
18+
.settings
19+
20+
sw-pom.xml
21+
*.iml
22+
test-config.xml
23+
.idea

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ weixin-java-tools
1717
<dependency>
1818
<groupId>me.chanjar</groupId>
1919
<artifactId>weixin-java-mp</artifactId>
20-
<version>1.1.5</version>
20+
<version>1.1.6</version>
2121
</dependency>
2222
```
2323

@@ -27,7 +27,7 @@ weixin-java-tools
2727
<dependency>
2828
<groupId>me.chanjar</groupId>
2929
<artifactId>weixin-java-cp</artifactId>
30-
<version>1.1.5</version>
30+
<version>1.1.6</version>
3131
</dependency>
3232
```
3333

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<modelVersion>4.0.0</modelVersion>
66
<groupId>me.chanjar</groupId>
77
<artifactId>weixin-java-parent</artifactId>
8-
<version>1.1.5</version>
8+
<version>1.1.6</version>
99
<packaging>pom</packaging>
1010
<name>WeiXin Java Tools - Parent</name>
1111
<description>微信公众号、企业号上级POM</description>

weixin-java-common/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>me.chanjar</groupId>
88
<artifactId>weixin-java-parent</artifactId>
9-
<version>1.1.5</version>
9+
<version>1.1.6</version>
1010
</parent>
1111

1212
<artifactId>weixin-java-common</artifactId>

weixin-java-common/src/main/java/me/chanjar/weixin/common/util/fs/FileUtils.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,25 @@
77

88
public class FileUtils {
99

10+
1011
/**
1112
* 创建临时文件
1213
* @param inputStream
1314
* @param name 文件名
1415
* @param ext 扩展名
16+
* @param tmpDirFile 临时文件夹目录
1517
* @return
1618
* @throws IOException
1719
*/
18-
public static File createTmpFile(InputStream inputStream, String name, String ext) throws IOException {
20+
public static File createTmpFile(InputStream inputStream, String name, String ext, File tmpDirFile) throws IOException {
1921
FileOutputStream fos = null;
2022
try {
21-
File tmpFile = File.createTempFile(name, '.' + ext);
23+
File tmpFile;
24+
if (tmpDirFile == null) {
25+
tmpFile = File.createTempFile(name, '.' + ext);
26+
} else {
27+
tmpFile = File.createTempFile(name, '.' + ext, tmpDirFile);
28+
}
2229
tmpFile.deleteOnExit();
2330
fos = new FileOutputStream(tmpFile);
2431
int read = 0;
@@ -43,5 +50,17 @@ public static File createTmpFile(InputStream inputStream, String name, String ex
4350
}
4451
}
4552
}
53+
54+
/**
55+
* 创建临时文件
56+
* @param inputStream
57+
* @param name 文件名
58+
* @param ext 扩展名
59+
* @return
60+
* @throws IOException
61+
*/
62+
public static File createTmpFile(InputStream inputStream, String name, String ext) throws IOException {
63+
return createTmpFile(inputStream, name, ext, null);
64+
}
4665

4766
}

weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/MediaDownloadRequestExecutor.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,18 @@
2525
*
2626
*/
2727
public class MediaDownloadRequestExecutor implements RequestExecutor<File, String> {
28+
29+
private File tmpDirFile;
30+
31+
public MediaDownloadRequestExecutor() {
32+
super();
33+
}
34+
35+
public MediaDownloadRequestExecutor(File tmpDirFile) {
36+
super();
37+
this.tmpDirFile = tmpDirFile;
38+
}
39+
2840

2941
@Override
3042
public File execute(CloseableHttpClient httpclient, HttpHost httpProxy, String uri, String queryParam) throws WxErrorException, ClientProtocolException, IOException {
@@ -59,7 +71,7 @@ public File execute(CloseableHttpClient httpclient, HttpHost httpProxy, String u
5971
return null;
6072
}
6173
String[] name_ext = fileName.split("\\.");
62-
File localFile = FileUtils.createTmpFile(inputStream, name_ext[0], name_ext[1]);
74+
File localFile = FileUtils.createTmpFile(inputStream, name_ext[0], name_ext[1], tmpDirFile);
6375
return localFile;
6476
}
6577

weixin-java-cp/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>me.chanjar</groupId>
88
<artifactId>weixin-java-parent</artifactId>
9-
<version>1.1.5</version>
9+
<version>1.1.6</version>
1010
</parent>
1111

1212
<artifactId>weixin-java-cp</artifactId>

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpConfigStorage.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package me.chanjar.weixin.cp.api;
22

3+
import java.io.File;
4+
35
import me.chanjar.weixin.common.bean.WxAccessToken;
46

57
/**
@@ -58,5 +60,7 @@ public interface WxCpConfigStorage {
5860
public String getHttp_proxy_username();
5961

6062
public String getHttp_proxy_password();
63+
64+
public File getTmpDirFile();
6165

6266
}

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpInMemoryConfigStorage.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package me.chanjar.weixin.cp.api;
22

3+
import java.io.File;
4+
35
import me.chanjar.weixin.common.bean.WxAccessToken;
46

57
/**
@@ -28,6 +30,8 @@ public class WxCpInMemoryConfigStorage implements WxCpConfigStorage {
2830
protected volatile String jsapiTicket;
2931
protected volatile long jsapiTicketExpiresTime;
3032

33+
protected volatile File tmpDirFile;
34+
3135
public String getAccessToken() {
3236
return this.accessToken;
3337
}
@@ -189,7 +193,16 @@ public String toString() {
189193
", http_proxy_password='" + http_proxy_password + '\'' +
190194
", jsapiTicket='" + jsapiTicket + '\'' +
191195
", jsapiTicketExpiresTime='" + jsapiTicketExpiresTime + '\'' +
196+
", tmpDirFile='" + tmpDirFile + '\'' +
192197
'}';
193198
}
194199

200+
public File getTmpDirFile() {
201+
return tmpDirFile;
202+
}
203+
204+
public void setTmpDirFile(File tmpDirFile) {
205+
this.tmpDirFile = tmpDirFile;
206+
}
207+
195208
}

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpServiceImpl.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,11 @@ public class WxCpServiceImpl implements WxCpService {
7878

7979
protected WxSessionManager sessionManager = new StandardSessionManager();
8080

81+
/**
82+
* 临时文件目录
83+
*/
84+
protected File tmpDirFile;
85+
8186
public boolean checkSignature(String msgSignature, String timestamp, String nonce, String data) {
8287
try {
8388
return SHA1.gen(wxCpConfigStorage.getToken(), timestamp, nonce, data).equals(msgSignature);
@@ -236,7 +241,8 @@ public WxMediaUploadResult mediaUpload(String mediaType, File file) throws WxErr
236241

237242
public File mediaDownload(String media_id) throws WxErrorException {
238243
String url = "https://qyapi.weixin.qq.com/cgi-bin/media/get";
239-
return execute(new MediaDownloadRequestExecutor(), url, "media_id=" + media_id);
244+
245+
return execute(new MediaDownloadRequestExecutor(wxCpConfigStorage.getTmpDirFile()), url, "media_id=" + media_id);
240246
}
241247

242248

@@ -638,6 +644,14 @@ public WxSession getSession(String id, boolean create) {
638644
public void setSessionManager(WxSessionManager sessionManager) {
639645
this.sessionManager = sessionManager;
640646
}
647+
648+
public File getTmpDirFile() {
649+
return tmpDirFile;
650+
}
651+
652+
public void setTmpDirFile(File tmpDirFile) {
653+
this.tmpDirFile = tmpDirFile;
654+
}
641655

642656
public static void main(String[] args) {
643657
Float a = 3.1f;

0 commit comments

Comments
 (0)