Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// <summary>
- /// Downloads the image and adds it to the sign.
- /// </summary>
- /// <param name="request">The requested <see cref="DownloadRequest"/> instance. </param>
- private IEnumerator DownloadImage(DownloadRequest request)
- {
- if (ItemManager.itemDictionaryByName.ContainsKey(request.Url))
- {
- request.Url = string.Format(ItemIconUrl, request.Url);
- }
- //================================================
- //================================================
- //================================================
- UnityWebRequest fileSizeRequest = UnityWebRequest.Head(request.Url);
- yield return fileSizeRequest.SendWebRequest();
- // Verify that the HEAD webrequest was succesful.
- if (fileSizeRequest.isNetworkError || fileSizeRequest.isHttpError)
- {
- signArtist.SendMessage(request.Sender, "WebErrorOccurred", fileSizeRequest.error);
- fileSizeRequest.Dispose();
- StartNextDownload(true);
- yield break;
- }
- string fileType = fileSizeRequest.GetResponseHeader("Content-Type");
- ulong fileSize = ulong.Parse(fileSizeRequest.GetResponseHeader("Content-Length"));
- bool wrongFileType = fileType.IndexOf("image", StringComparison.OrdinalIgnoreCase) < 0;
- bool fileIsTooLarge = fileSize > signArtist.Settings.MaxFileSizeInBytes;
- if (wrongFileType || fileIsTooLarge)
- {
- if(wrongFileType)
- signArtist.SendMessage(request.Sender, "File is not an image", signArtist.Settings.MaxSize);
- if(fileIsTooLarge)
- signArtist.SendMessage(request.Sender, "FileTooLarge", signArtist.Settings.MaxSize);
- StartNextDownload(true);
- yield break;
- }
- //================================================
- //================================================
- //================================================
- UnityWebRequest www = UnityWebRequest.Get(request.Url);
- yield return www.SendWebRequest();
- // Code
- }
Advertisement
Add Comment
Please, Sign In to add comment