Add new image uploader (imgland.net)

This commit is contained in:
jibcore 2016-02-22 02:21:06 +02:00
parent 353380a669
commit 024cfed7ed
5 changed files with 48 additions and 1 deletions

View file

@ -83,6 +83,7 @@ ShareX supports the following destinations.
* [Twitter](https://twitter.com)
* [Chevereto](https://chevereto.com)
* [vgy.me](http://vgy.me)
* [Imgland](http://imgland.net)
* [SomeImage](https://someimage.com)
* Custom image uploader
* File uploader
@ -139,7 +140,6 @@ ShareX supports the following destinations.
* [tinyurl.com](http://tinyurl.com)
* [turl.ca](http://turl.ca)
* [yourls.org](http://yourls.org)
* [nl.cm](http://nl.cm)
* [adf.ly](https://adf.ly)
* [coinurl.com](https://coinurl.com)
* [qr.net](http://qr.net)

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)