Merge pull request #1355 from jibcore/jibcore/ShareX

Add new image uploader (imgland.net)
This commit is contained in:
Jaex 2016-02-22 18:06:11 +02:00
commit 8461c838d3
4 changed files with 47 additions and 0 deletions

View file

@ -50,6 +50,8 @@ public enum ImageDestination
Vgyme,
[Description("SomeImage")]
SomeImage,
[Description("Imgland")]
Imgland,
CustomImageUploader, // Localized
FileUploader // Localized
}

View file

@ -0,0 +1,41 @@
using System.Collections.Generic;
using System.IO;
using Newtonsoft.Json;
namespace ShareX.UploadersLib.ImageUploaders
{
public sealed class ImglandUploader : ImageUploader
{
public override UploadResult Upload(Stream stream, string fileName)
{
string uploadUrl = "http://www.imgland.net/process.php?subAPI=mainsite";
Dictionary<string, string> arguments = new Dictionary<string, string>();
arguments.Add("usubmit", "true");
UploadResult result = UploadData(stream, uploadUrl, fileName, "imagefile[]", arguments);
if (result.IsSuccess)
{
ImglandResponse response = JsonConvert.DeserializeObject<ImglandResponse>(result.Response);
if (!string.IsNullOrEmpty(response.Url))
{
result.URL = response.Url;
}
else
{
Errors.Add(string.IsNullOrEmpty(response.Status) ? "Unknown error." : response.Status);
}
}
return result;
}
}
public class ImglandResponse
{
public string Status { get; set; }
public string FileName { get; set; }
public string Url { get; set; }
}
}

View file

@ -207,6 +207,7 @@
<Compile Include="HelperClasses\OAuth\IOAuthBase.cs" />
<Compile Include="ImageUploaders\Chevereto.cs" />
<Compile Include="ImageUploaders\CheveretoUploader.cs" />
<Compile Include="ImageUploaders\ImglandUploader.cs" />
<Compile Include="ImageUploaders\SomeImage.cs" />
<Compile Include="ImageUploaders\VgymeUploader.cs" />
<Compile Include="TextUploaders\Hastebin.cs" />

View file

@ -837,6 +837,9 @@ public UploadResult UploadImage(Stream stream, string fileName)
DirectURL = Program.UploadersConfig.SomeImageDirectURL
};
break;
case ImageDestination.Imgland:
imageUploader = new ImglandUploader();
break;
case ImageDestination.CustomImageUploader:
CustomUploaderItem customUploader = GetCustomUploader(Program.UploadersConfig.CustomImageUploaderSelected);
if (customUploader != null)