本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
转载自夜明的孤行灯
本文链接地址: https://www.huangyunkun.com/2017/04/12/bt-file-to-qr-image/
自从入手小米路由器以来,下载电影就只选择最大的了,因为路由器下载可以在白天上班时间下载,而且夜间也可以,下载完成还可以用手机或者电视播放。
小米路由器APP端支持扫码下载和手动添加任务,当然手机上添加BT种子挺麻烦的,所以我一般用扫描二维码,好在很多下载站都提供了二维码。二维码中一般是种子的下载地址或者磁力链。但是偶尔会遇到只有种子文件的情况,所以就需要想个办法来转化成为二维码。
最终效果在这里:https://to-qr.herokuapp.com/
简单的地方就跳过了,比如如何上传文件,显示二维码这些,这里只关注两个问题。
- BT文件转磁力链接
- 磁力链接转二维码
BT文件转磁力链接
磁力链接中最关键的内容就是info hash,这个值可以轻松从BT文件中解析。
具体原理可以参考BT种子文件结构。这里使用ttorrent-core库。
package com.huangyunkun.service; import com.turn.ttorrent.common.Torrent; import org.apache.commons.io.FileUtils; import org.springframework.stereotype.Service; import java.io.File; import java.io.IOException; import java.security.NoSuchAlgorithmException; @Service public class TorrentService { public String getLink(File file) throws IOException, NoSuchAlgorithmException { Torrent torrent = new Torrent(FileUtils.readFileToByteArray(file), false); return "magnet:?xt=urn:btih:" + torrent.getHexInfoHash(); } }
磁力链接转二维码
这里的转化其实就是一个简单的文本转二维码。二维码的生成库比较多。这里使用的是QRGen。
compile('com.github.kenglxn.QRGen:javase:2.2.0')
File QR = QRCode.from(link).withSize(512, 512).file();
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
转载自夜明的孤行灯
本文链接地址: https://www.huangyunkun.com/2017/04/12/bt-file-to-qr-image/