Пример #1
0
    private static IEnumerator TesseractDownloadLangFile(String folder, String lang)
    {
        String subfolderName = "tessdata";
        String folderName    = System.IO.Path.Combine(folder, subfolderName);

        if (!System.IO.Directory.Exists(folderName))
        {
            System.IO.Directory.CreateDirectory(folderName);
        }
        String dest = System.IO.Path.Combine(folderName, String.Format("{0}.traineddata", lang));


        if (!System.IO.File.Exists(dest) || !(new FileInfo(dest).Length > 0))
        {
            String source = Tesseract.GetLangFileUrl(lang);
            using (UnityEngine.Networking.UnityWebRequest webclient = new UnityEngine.Networking.UnityWebRequest(source))
            {
                Debug.Log(String.Format("Downloading file from '{0}' to '{1}'", source, dest));

                webclient.downloadHandler = new UnityEngine.Networking.DownloadHandlerFile(dest);
                yield return(webclient.SendWebRequest());

                if (webclient.isNetworkError || webclient.isHttpError)
                {
                    Debug.LogError(webclient.error);
                }

                if (!System.IO.File.Exists(dest) || !(new FileInfo(dest).Length > 0))
                {
                    Debug.LogError(String.Format("File {0} is empty, failed to download file.", dest));
                }

                Debug.Log("File successfully downloaded and saved to " + dest);
                //Debug.Log(String.Format("Download completed"));
            }
        }
    }