mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-10-15 18:55:13 +08:00
#362 修复okhttp实现的qrcode二维码图片下载代码
This commit is contained in:
@@ -1,52 +1,37 @@
|
||||
package me.chanjar.weixin.common.util.fs;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.file.Files;
|
||||
|
||||
public class FileUtils {
|
||||
|
||||
|
||||
/**
|
||||
* 创建临时文件
|
||||
*
|
||||
* @param inputStream
|
||||
* @param inputStream 输入文件流
|
||||
* @param name 文件名
|
||||
* @param ext 扩展名
|
||||
* @param tmpDirFile 临时文件夹目录
|
||||
*/
|
||||
public static File createTmpFile(InputStream inputStream, String name, String ext, File tmpDirFile) throws IOException {
|
||||
File tmpFile;
|
||||
if (tmpDirFile == null) {
|
||||
tmpFile = File.createTempFile(name, '.' + ext);
|
||||
} else {
|
||||
tmpFile = File.createTempFile(name, '.' + ext, tmpDirFile);
|
||||
}
|
||||
File resultFile = File.createTempFile(name, '.' + ext, tmpDirFile);
|
||||
|
||||
tmpFile.deleteOnExit();
|
||||
|
||||
try (FileOutputStream fos = new FileOutputStream(tmpFile)) {
|
||||
int read = 0;
|
||||
byte[] bytes = new byte[1024 * 100];
|
||||
while ((read = inputStream.read(bytes)) != -1) {
|
||||
fos.write(bytes, 0, read);
|
||||
}
|
||||
|
||||
fos.flush();
|
||||
return tmpFile;
|
||||
}
|
||||
resultFile.deleteOnExit();
|
||||
org.apache.commons.io.FileUtils.copyInputStreamToFile(inputStream, resultFile);
|
||||
return resultFile;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建临时文件
|
||||
*
|
||||
* @param inputStream
|
||||
* @param inputStream 输入文件流
|
||||
* @param name 文件名
|
||||
* @param ext 扩展名
|
||||
*/
|
||||
public static File createTmpFile(InputStream inputStream, String name, String ext) throws IOException {
|
||||
return createTmpFile(inputStream, name, ext, null);
|
||||
return createTmpFile(inputStream, name, ext, Files.createTempDirectory("weixin-java-tools-temp").toFile());
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user