0

我正在尝试从 url 下载资产包,但下载 63kb 后请求继续取消。谁能向我解释为什么会发生这种情况?

我的代码:

public IEnumerator DL()
{
    string downloadlink = "https://drive.google.com/file/d/1OGyrB4-MQfo-HVom9ENvV4dn312_wL4Q/view?usp=sharing";
    string filepath = Application.persistentDataPath + "/electroplatingNN";
    //Download
    UnityWebRequest dlreq = new UnityWebRequest(downloadlink);
    dlreq.downloadHandler = new DownloadHandlerFile(filepath);
    dlreq.timeout = 15;

    UnityWebRequestAsyncOperation op = dlreq.SendWebRequest();

    while (!op.isDone)
    {
        //here you can see download progress
        Debug.Log(dlreq.downloadedBytes / 1000 + "KB");

        yield return null;
    }

    if (dlreq.isNetworkError || dlreq.isHttpError)
    {
        Debug.Log(dlreq.error);
    }
    else
    {
        Debug.Log("download success");
    }

    dlreq.Dispose();

    yield return null;

}
4

1 回答 1

0

正如评论中已经提到的那样,问题不在于UnityWebrequestGoogle Drive 并不会像您期望的那样简单地下载您的文件。

相反,您下载的数据实际上只是允许您下载它的网页。如果我只是在浏览器中打开你的文件,我会得到一个看起来像这样的页面

在此处输入图像描述

我现在可以在哪里下载你的文件。


这样这样的包,它们实现了从 Unity 中的 Google Drive API 实际下载文件所需的东西。

于 2021-02-04T14:26:17.793 回答