微信jssdk上传图片成功,服务器下载是空白图片,为什么服务器图片突然不能下载了?
发布于 5 年前 作者 zoulei 9077 次浏览 来自 官方Issues

我的服务器后端服务是Java开发的,之前一直很正常,公众号内拍照,调用jssdk上传图片,后端服务器下载。一直是正常的。貌似是2021年2月份,就无法下载了,抓取了下载的图片地址,在浏览器上访问能下载。在我原本正常的代码里能访问地址,但是返回的内容是空的。

我上传的测试图,程序访问的下载地址是:

http://api.weixin.qq.com/cgi-bin/media/get?access_token=43_PeBd0h0A5z8wSZmGZy9bCrXH6AEAfdWDLrwdKx8s3bE_ELctA2rbhZ3cfIYbD1wXN6Du7qOx6ckBEfFg6T-7OXoRGHRSZqZJnCVQ46a-M_qaQCPxxkHNyVkTzgLyaNpkdGSD7VnChY2nkOQJHERdAEAAXK&media_id=LyfGcZ70fbqAG0YTDXKNdP7DAqYTjYZT27K0pGU1vgI8T-us4zQtbKTcfW_I5we0

请官方大大辛苦查下问题原因在哪儿? 下面是我下载图片的Java代码。 备注:2021年2月份之前一直都可以下载,可以保存的。

URL url = new URL(wx_uploadMedia);
			HttpURLConnection conn = (HttpURLConnection) url.openConnection();
			conn.setDoInput(true);
			conn.setRequestMethod("GET");

			if (!savePath.endsWith("/")) {
				savePath += "/";
			}
			
			if (!new File(savePath).exists()) {
				if (!new File(savePath).getParentFile().exists()) {
					new File(savePath).getParentFile().mkdirs();
				}
				new File(savePath).mkdirs();
				//new File(savePath).createNewFile();
			}
			
			
			// 根据内容类型获取扩展名
			String fileExt = getFileEndWitsh(conn
					.getHeaderField("Content-Type"));
			// 将mediaId作为文件名
			filePath = savePath + filenameString + fileExt;

			BufferedInputStream bis = new BufferedInputStream(conn
					.getInputStream());
			FileOutputStream fos = new FileOutputStream(new File(filePath));
			byte[] buf = new byte[8096];
			int size = 0;
			while ((size = bis.read(buf)) != -1)
				fos.write(buf, 0, size);
			fos.close();
			bis.close();

			conn.disconnect();
			String info = String.format("下载媒体文件成功,filePath=" + filePath);
			System.out.println(info);
2 回复

你好,给一下复现链接

是临时文件?还是永久的?永久文件有数量限制

回到顶部