Guest User

Untitled

a guest
Mar 1st, 2021
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.04 KB | None | 0 0
  1. /// <summary>
  2. /// Downloads the image and adds it to the sign.
  3. /// </summary>
  4. /// <param name="request">The requested <see cref="DownloadRequest"/> instance. </param>
  5. private IEnumerator DownloadImage(DownloadRequest request)
  6. {
  7.     if (ItemManager.itemDictionaryByName.ContainsKey(request.Url))
  8.     {
  9.         request.Url = string.Format(ItemIconUrl, request.Url);
  10.     }
  11.    
  12.     //================================================
  13.     //================================================
  14.     //================================================
  15.    
  16.     UnityWebRequest fileSizeRequest = UnityWebRequest.Head(request.Url);
  17.     yield return fileSizeRequest.SendWebRequest();
  18.    
  19.     // Verify that the HEAD webrequest was succesful.
  20.     if (fileSizeRequest.isNetworkError || fileSizeRequest.isHttpError)
  21.     {
  22.         signArtist.SendMessage(request.Sender, "WebErrorOccurred", fileSizeRequest.error);
  23.         fileSizeRequest.Dispose();
  24.         StartNextDownload(true);
  25.         yield break;
  26.     }
  27.    
  28.     string fileType =  fileSizeRequest.GetResponseHeader("Content-Type");
  29.     ulong fileSize = ulong.Parse(fileSizeRequest.GetResponseHeader("Content-Length"));
  30.    
  31.     bool wrongFileType = fileType.IndexOf("image", StringComparison.OrdinalIgnoreCase) < 0;
  32.     bool fileIsTooLarge = fileSize > signArtist.Settings.MaxFileSizeInBytes;
  33.    
  34.     if (wrongFileType || fileIsTooLarge)
  35.     {
  36.         if(wrongFileType)
  37.             signArtist.SendMessage(request.Sender, "File is not an image", signArtist.Settings.MaxSize);
  38.    
  39.         if(fileIsTooLarge)
  40.             signArtist.SendMessage(request.Sender, "FileTooLarge", signArtist.Settings.MaxSize);
  41.    
  42.         StartNextDownload(true);
  43.         yield break;
  44.     }
  45.    
  46.     //================================================
  47.     //================================================
  48.     //================================================
  49.                    
  50.    
  51.     UnityWebRequest www = UnityWebRequest.Get(request.Url);
  52.  
  53.     yield return www.SendWebRequest();
  54.                
  55.     // Code
  56. }
Advertisement
Add Comment
Please, Sign In to add comment