使用QnetworkAcessManager下载直接链接的文件
download a file by a direct link using QNetworkAcessManager
我正在使用qnetworkacessmanager从直接链接下载pdf文件。但是它什么也没下载,QByTearray的大小为0,我在MP3文件的另一个链接上尝试了它,而且它可以正常工作,但我想知道为什么不能下载此链接,我尝试使用curl下载它和同样的问题所以我尝试在Java中这样做,但它给了我一个错误
Exception in thread "main" java.net.MalformedURLException: no protocol: www.proz.com/ht/profile_resources/022198_r4551c465d7a53.doc
当我搜索此错误时,求解是为了编码它,因此我再次返回并在QT中进行,然后使用此
编码URL//using QUrl To endcode the link
reply = manager->get(QNetworkRequest(QUrl(QUrl(Link).toEncoded())));
connect(reply, SIGNAL(readyRead()), this, SLOT(CollectFile()));
connect(reply, SIGNAL(finished()), this, SLOT(DocDownloaded()));
,但是编码后的Java和Qt都有同样的问题,因此该问题是什么问题,以及为什么使用QnetworkAcsesmanager下载任何解决方案或使用卷发
更新我要下载的文件的URL
http://www.proz.com/ht/profile_resources/009424_r57075c01ae812.pdf
预先感谢
您是否尝试构造qnetworkrequest as:
QNetworkRequest(QUrl(Link))
没有" toencoded"?
在此处举例说,您需要使用QURL ::从编码URL进行cancruct qurl,或者简单地跳过所有操作。
我解决了问题当我从普通Web浏览器Firefox下载文件或任何使用Internet Download Manager应用程序时,我可以通过解决该文件进行解决。链接是更改
来自:
http://www.proz.com/ht/profile_resources/009424_r57075c01ae812.pdf
to:
http://cdn3.proz.com/profile_resources/009424_r57075c01ae812.pdf
因此,当我复制第二个链接时,它可以立即从我的应用程序中下载或使用卷曲,但不知道对此的解释,因此,如果有人可以帮助并解释这是为什么会发生的,并且当我放置时,链接会更改在Internet下载管理器中,给我新的链接,我将不胜感激
这是我解决问题的方式,但没有解释为什么发生这种情况
相关文章:
- 无法链接文件系统库C++
- 如何在C++中链接 .a 文件
- 在为 Java 编译动态链接文件时,我应该选择哪些 g++ 参数
- Makefile 将在文件更改时链接文件,但不会重新编译更改的源文件
- CMake 从子目录和父目录链接文件
- 如何将GCC链接器固定地址添加到链接文件中
- 在GCC中链接.h文件
- 使用GDB中的多个链接文件进行调试
- visualstudio2010表达了不同项目中的链接文件
- 编译器是否会优化未使用的链接文件
- 尝试取消链接文件时编译 C++ 时出错
- 链接文件错误,VS 2015中的错误LNK2005
- 用C++中的链接文件编译错误
- Makefile未链接.o文件
- 如何链接.h文件中声明为extern的函数,以创建.dll文件
- 通过makefiles链接文件
- 未定义的引用错误,即使在链接c文件之后
- 多个链接c++文件
- 使用CMakeLists.txt链接c++文件
- 在c++中链接文件