多文件压缩mkzip 文件名乱码 李永超 2017-03-21 22:02 参考官方多文件压缩接口教程(https://developer.qiniu.com/dora/api/mkzip)。发现使用英文命名的文件可用正常打包成zip压缩包,但是如果要把以中文命名的文件打包成zip,压缩后的zip里的以中文命名的文件的文件名就会乱码。 liuluyao 2017-03-21 23:46 您好,麻烦提供下压缩作业的persistentId,这边看下 李永超 2017-03-22 09:35 压缩作业的persistentId是: z0.58d1d48f45a2650c99e767e6 chenkaiwen 2017-03-22 10:02 您好,尝试更换一下编码格式,gbk 和 utf-8 都试一下: https://developer.qiniu.com/dora/api/mkzip 李永超 2017-03-22 10:30 使用gbk编码 mkzip/<mode> /encoding/<UrlsafeBase64EncodedEncoding> /url/<Base64EncodedURL1>[/alias/<Base64EncodedAlias1>] /url/<Base64EncodedURL2>[/alias/<Base64EncodedAlias2>] 其中 /encoding/<UrlsafeBase64EncodeEncoding>这个怎么使用,每个文件都要拼接吗? 我之前压缩后的文件,只要文件名乱码,文件内容没有乱码 "附件":QQ截图20170322102954.png • 下载 chenkaiwen 2017-03-22 10:41 您好,每个文件都要拼接。 李永超 2017-03-22 13:39 /encoding/<UrlsafeBase64EncodeEncoding>这个具体怎么使用? "附件":QQ截图20170322133814.png • 下载 chenkaiwen 2017-03-22 14:52 您好,就是把 gbk 做 base64 编码后,写到 /encoding/ 后面,再拼接其他命令。 李永超 2017-03-22 15:14 接口OperationManager.pfop(String bucket,String key,String fops,StringMap params)中fops的实参值为 mkzip/2/url/encoding/Z2Jr/aHR0cDovL29pdnIwMWpjMC5ia3QuY2xvdWRkbi5jb20vMjE3MDMyMDMzMTAwMF8xMzQ3LnJhcj9lPTE0OTAxNjk4NzEmdG9rZW49T3FuRHZjbWZWXzZzakRXdlpHalI1VG5sOVkzM1RfUlN3Z21wbzE1RzpBSVJ5TmRtMG9NdHFEa2pFUmxFRUczVV9Ibkk9/url/encoding/Z2Jr/aHR0cDovL29pdnIwMWpjMC5ia3QuY2xvdWRkbi5jb20vZXhjZWxc5Y6m6Zeo5biCLeS4ieWFseWwj-S4jS0xTS0yMTcwMzIwMzMxMDAwLnhsc3g_ZT0xNDkwMTY5ODgyJnRva2VuPU9xbkR2Y21mVl82c2pEV3ZaR2pSNVRubDlZMzNUX1JTd2dtcG8xNUc6VW1BeFcxMVphX0U1bHh5UFJVNmwxamg5TmlRPQ==|saveas/cWlqaWEtcHJpdmF0ZS1kZXNpZ246cHJpbnQvcGFjay8yMTcwMzIwMzMxMDAwLnppcA== 我不知道是不是我的代码写错了,还是什么的。最终文件下载,显示{"error":"Document not found"} 李永超 2017-03-22 15:15 代码如下 StringBuffer sb = new StringBuffer();sb.append("/url/").append("encoding/"+UrlSafeBase64.encodeToString("gbk")+"/") .append(UrlSafeBase64.encodeToString(wholeImgStr)); // 别名使用无效 /*.append("/alias/") .append(UrlSafeBase64.encodeToString(aliasImgStr));*/return sb.toString(); chenkaiwen 2017-03-22 15:20 您好,您发一下处理的 persistentID ,这边看下是否处理成功了。 李永超 2017-03-22 15:52 z0.58d22d3045a2650c99ef3b5d chenkaiwen 2017-03-22 15:57 您好,这个处理没有成功,用这个处理命令试一下吧: mkzip/2/encoding/Z2Jr/url/aHR0cDovL29pdnIwMWpjMC5ia3QuY2xvdWRkbi5jb20vMjE3MDMyMDMzMTAwMF8xMzQ3LnJhcj9lPTE0OTAxNjk4NzEmdG9rZW49T3FuRHZjbWZWXzZzakRXdlpHalI1VG5sOVkzM1RfUlN3Z21wbzE1RzpBSVJ5TmRtMG9NdHFEa2pFUmxFRUczVV9Ibkk9/url/aHR0cDovL29pdnIwMWpjMC5ia3QuY2xvdWRkbi5jb20vZXhjZWxc5Y6m6Zeo5biCLeS4ieWFseWwj-S4jS0xTS0yMTcwMzIwMzMxMDAwLnhsc3g_ZT0xNDkwMTY5ODgyJnRva2VuPU9xbkR2Y21mVl82c2pEV3ZaR2pSNVRubDlZMzNUX1JTd2dtcG8xNUc6VW1BeFcxMVphX0U1bHh5UFJVNmwxamg5TmlRPQ==|saveas/cWlqaWEtcHJpdmF0ZS1kZXNpZ246cHJpbnQvcGFjay8yMTcwMzIwMzMxMDAwLnppcA== 请严格按照文档要求写处理命令。 李永超 2017-03-22 16:51 mkzip/2/encoding/Z2Jr/url/aHR0cDovL29pdnIwMWpjMC5ia3QuY2xvdWRkbi5jb20vMjE3MDMyMDMzMTAwMF8xMzQ3LnJhcj9lPTE0OTAxNzYxOTMmdG9rZW49T3FuRHZjbWZWXzZzakRXdlpHalI1VG5sOVkzM1RfUlN3Z21wbzE1RzpiT1R3clZHNEJXSlYwRW1CWC02TUhWTU9LOTQ9/url/aHR0cDovL29pdnIwMWpjMC5ia3QuY2xvdWRkbi5jb20vZXhjZWxc5Y6m6Zeo5biCLeS4ieWFseWwj-S4jS0xTS0yMTcwMzIwMzMxMDAwLnhsc3g_ZT0xNDkwMTc2MTkzJnRva2VuPU9xbkR2Y21mVl82c2pEV3ZaR2pSNVRubDlZMzNUX1JTd2dtcG8xNUc6aXdidWlqMG44VlZvNWlkUGZSY2FUdVNCSjF3PQ==|saveas/cWlqaWEtcHJpdmF0ZS1kZXNpZ246cHJpbnQvcGFjay8yMTcwMzIwMzMxMDAwLnppcA== 我改了,文件可以打包了,但文件名还是乱码 chenkaiwen 2017-03-22 17:06 您好,用/alias/<Base64EncodedAlias2> 指定别名试试。 李永超 2017-03-22 17:56 可以了,非常感谢!!! fopsSb.append("/alias/"+ UrlSafeBase64.encodeToString(filePath.getBytes("gb2312")));//使用别名,防止七牛云多文件压缩中文文件乱码
李永超 2017-03-21 22:02
参考官方多文件压缩接口教程(https://developer.qiniu.com/dora/api/mkzip)。发现使用英文命名的文件可用正常打包成zip压缩包,但是如果要把以中文命名的文件打包成zip,压缩后的zip里的以中文命名的文件的文件名就会乱码。
liuluyao 2017-03-21 23:46
您好,麻烦提供下压缩作业的persistentId,这边看下
李永超 2017-03-22 09:35
压缩作业的persistentId是: z0.58d1d48f45a2650c99e767e6
chenkaiwen 2017-03-22 10:02
您好,尝试更换一下编码格式,gbk 和 utf-8 都试一下:
https://developer.qiniu.com/dora/api/mkzip
李永超 2017-03-22 10:30
使用gbk编码
其中 /encoding/<UrlsafeBase64EncodeEncoding>这个怎么使用,每个文件都要拼接吗?
我之前压缩后的文件,只要文件名乱码,文件内容没有乱码
chenkaiwen 2017-03-22 10:41
您好,每个文件都要拼接。
李永超 2017-03-22 13:39
/encoding/<UrlsafeBase64EncodeEncoding>这个具体怎么使用?
chenkaiwen 2017-03-22 14:52
您好,就是把 gbk 做 base64 编码后,写到 /encoding/ 后面,再拼接其他命令。
李永超 2017-03-22 15:14
接口OperationManager.pfop(String bucket,String key,String fops,StringMap params)中fops的实参值为
mkzip/2/url/encoding/Z2Jr/aHR0cDovL29pdnIwMWpjMC5ia3QuY2xvdWRkbi5jb20vMjE3MDMyMDMzMTAwMF8xMzQ3LnJhcj9lPTE0OTAxNjk4NzEmdG9rZW49T3FuRHZjbWZWXzZzakRXdlpHalI1VG5sOVkzM1RfUlN3Z21wbzE1RzpBSVJ5TmRtMG9NdHFEa2pFUmxFRUczVV9Ibkk9/url/encoding/Z2Jr/aHR0cDovL29pdnIwMWpjMC5ia3QuY2xvdWRkbi5jb20vZXhjZWxc5Y6m6Zeo5biCLeS4ieWFseWwj-S4jS0xTS0yMTcwMzIwMzMxMDAwLnhsc3g_ZT0xNDkwMTY5ODgyJnRva2VuPU9xbkR2Y21mVl82c2pEV3ZaR2pSNVRubDlZMzNUX1JTd2dtcG8xNUc6VW1BeFcxMVphX0U1bHh5UFJVNmwxamg5TmlRPQ==|saveas/cWlqaWEtcHJpdmF0ZS1kZXNpZ246cHJpbnQvcGFjay8yMTcwMzIwMzMxMDAwLnppcA==
我不知道是不是我的代码写错了,还是什么的。最终文件下载,显示{"error":"Document not found"}
李永超 2017-03-22 15:15
代码如下
chenkaiwen 2017-03-22 15:20
您好,您发一下处理的 persistentID ,这边看下是否处理成功了。
李永超 2017-03-22 15:52
z0.58d22d3045a2650c99ef3b5d
chenkaiwen 2017-03-22 15:57
您好,这个处理没有成功,用这个处理命令试一下吧:
mkzip/2/encoding/Z2Jr/url/aHR0cDovL29pdnIwMWpjMC5ia3QuY2xvdWRkbi5jb20vMjE3MDMyMDMzMTAwMF8xMzQ3LnJhcj9lPTE0OTAxNjk4NzEmdG9rZW49T3FuRHZjbWZWXzZzakRXdlpHalI1VG5sOVkzM1RfUlN3Z21wbzE1RzpBSVJ5TmRtMG9NdHFEa2pFUmxFRUczVV9Ibkk9/url/aHR0cDovL29pdnIwMWpjMC5ia3QuY2xvdWRkbi5jb20vZXhjZWxc5Y6m6Zeo5biCLeS4ieWFseWwj-S4jS0xTS0yMTcwMzIwMzMxMDAwLnhsc3g_ZT0xNDkwMTY5ODgyJnRva2VuPU9xbkR2Y21mVl82c2pEV3ZaR2pSNVRubDlZMzNUX1JTd2dtcG8xNUc6VW1BeFcxMVphX0U1bHh5UFJVNmwxamg5TmlRPQ==|saveas/cWlqaWEtcHJpdmF0ZS1kZXNpZ246cHJpbnQvcGFjay8yMTcwMzIwMzMxMDAwLnppcA==
请严格按照文档要求写处理命令。
李永超 2017-03-22 16:51
mkzip/2/encoding/Z2Jr/url/aHR0cDovL29pdnIwMWpjMC5ia3QuY2xvdWRkbi5jb20vMjE3MDMyMDMzMTAwMF8xMzQ3LnJhcj9lPTE0OTAxNzYxOTMmdG9rZW49T3FuRHZjbWZWXzZzakRXdlpHalI1VG5sOVkzM1RfUlN3Z21wbzE1RzpiT1R3clZHNEJXSlYwRW1CWC02TUhWTU9LOTQ9/url/aHR0cDovL29pdnIwMWpjMC5ia3QuY2xvdWRkbi5jb20vZXhjZWxc5Y6m6Zeo5biCLeS4ieWFseWwj-S4jS0xTS0yMTcwMzIwMzMxMDAwLnhsc3g_ZT0xNDkwMTc2MTkzJnRva2VuPU9xbkR2Y21mVl82c2pEV3ZaR2pSNVRubDlZMzNUX1JTd2dtcG8xNUc6aXdidWlqMG44VlZvNWlkUGZSY2FUdVNCSjF3PQ==|saveas/cWlqaWEtcHJpdmF0ZS1kZXNpZ246cHJpbnQvcGFjay8yMTcwMzIwMzMxMDAwLnppcA==
我改了,文件可以打包了,但文件名还是乱码
chenkaiwen 2017-03-22 17:06
您好,用/alias/<Base64EncodedAlias2> 指定别名试试。
李永超 2017-03-22 17:56
可以了,非常感谢!!!