From f65c64cbebdd79e527a6192cdfdce616087cc695 Mon Sep 17 00:00:00 2001 From: jinyu Date: Tue, 23 Feb 2016 18:31:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=AF=E8=83=BD=E8=8E=B7=E5=8F=96=E4=B8=8D?= =?UTF-8?q?=E5=88=B0=E6=96=87=E4=BB=B6=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/foxinmy/weixin4j/util/FileUtil.java | 36 ++++++++++++++----- .../com/foxinmy/weixin4j/mp/api/MediaApi.java | 2 +- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/FileUtil.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/FileUtil.java index cad09c1e..67c6db9b 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/FileUtil.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/FileUtil.java @@ -1,7 +1,10 @@ package com.foxinmy.weixin4j.util; +import java.io.File; +import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; +import java.net.URLConnection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -27,6 +30,21 @@ public class FileUtil { FILE_TYPE_MAP.put("424d228c010000000000", "bmp"); // 16色位图(bmp) FILE_TYPE_MAP.put("424d8240090000000000", "bmp"); // 24位位图(bmp) FILE_TYPE_MAP.put("424d8e1b030000000000", "bmp"); // 256色位图(bmp) + + FILE_TYPE_MAP.put("49443303000000002176", "mp3"); + FILE_TYPE_MAP.put("52494646", "wav"); + FILE_TYPE_MAP.put("00005741", "wav"); + FILE_TYPE_MAP.put("2321414d", "amr"); + FILE_TYPE_MAP.put("520a3c91", "amr"); + + FILE_TYPE_MAP.put("2e524d46000000120001", "rmvb"); // rmvb、rm + FILE_TYPE_MAP.put("464c5601050000000900", "flv"); // flv、f4v + FILE_TYPE_MAP.put("667479706d70", "mp4"); + FILE_TYPE_MAP.put("667479706973", "mp4"); + FILE_TYPE_MAP.put("000001ba210001000180", "mpg"); + FILE_TYPE_MAP.put("3026b2758e66cf11a6d9", "wmv"); // wmv、asf + FILE_TYPE_MAP.put("52494646d07d60074156", "avi"); + FILE_TYPE_MAP.put("41433130313500000000", "dwg"); FILE_TYPE_MAP.put("3c21444f435459504520", "html"); FILE_TYPE_MAP.put("3c21646f637479706520", "htm"); @@ -39,14 +57,6 @@ public class FileUtil { FILE_TYPE_MAP.put("d0cf11e0a1b11ae10000", "vsd"); FILE_TYPE_MAP.put("5374616E64617264204A", "mdb"); FILE_TYPE_MAP.put("255044462d312e350d0a", "pdf"); - FILE_TYPE_MAP.put("2e524d46000000120001", "rmvb"); // rmvb、rm - FILE_TYPE_MAP.put("464c5601050000000900", "flv"); // flv、f4v - FILE_TYPE_MAP.put("00000020667479706d70", "mp4"); - FILE_TYPE_MAP.put("49443303000000002176", "mp3"); - FILE_TYPE_MAP.put("000001ba210001000180", "mpg"); - FILE_TYPE_MAP.put("3026b2758e66cf11a6d9", "wmv"); // wmv、asf - FILE_TYPE_MAP.put("52494646e27807005741", "wav"); - FILE_TYPE_MAP.put("52494646d07d60074156", "avi"); FILE_TYPE_MAP.put("4d546864000000060001", "mid"); FILE_TYPE_MAP.put("504b0304140000000800", "zip"); FILE_TYPE_MAP.put("526172211a0700cf9073", "rar"); @@ -105,7 +115,8 @@ public class FileUtil { Iterator keyIter = FILE_TYPE_MAP.keySet().iterator(); while (keyIter.hasNext()) { String key = keyIter.next().toLowerCase(); - if (key.startsWith(fileCode) || fileCode.startsWith(key)) { + if (key.startsWith(fileCode) || fileCode.startsWith(key) + || key.endsWith(fileCode) || fileCode.endsWith(key)) { fileType = FILE_TYPE_MAP.get(key); break; } @@ -142,4 +153,11 @@ public class FileUtil { return lastSeparator > extensionPos ? "" : fileName .substring(extensionPos + 1); } + + public static void main(String[] args) throws IOException { + InputStream is = new FileInputStream(new File( + "/Users/jy/Downloads/test.mp4")); + System.err.println(getFileType(is)); + System.err.println(URLConnection.guessContentTypeFromStream(is)); + } } \ No newline at end of file diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java index 362944af..f2843c73 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java @@ -405,7 +405,7 @@ public class MediaApi extends MpApi { * @param title * 视频标题 * @param introduction - * 视频描述 可以为空 + * 视频描述 * @return 上传到微信服务器返回的媒体标识 * @see 上传永久媒体素材