fixed #549: Added vgy.me image uploader

This commit is contained in:
Jaex 2015-03-12 00:53:25 +02:00
parent d7ced8c94c
commit 9fd0710b53
4 changed files with 68 additions and 0 deletions

View file

@ -48,6 +48,8 @@ public enum ImageDestination
Chevereto,
[Description("Hızlı Resim")]
HizliResim,
[Description("vgy.me")]
Vgyme,
CustomImageUploader, // Localized
FileUploader // Localized
}

View file

@ -0,0 +1,62 @@
#region License Information (GPL v3)
/*
ShareX - A program that allows you to take screenshots and share any file type
Copyright © 2007-2015 ShareX Developers
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Optionally you can also view the license at <http://www.gnu.org/licenses/>.
*/
#endregion License Information (GPL v3)
using Newtonsoft.Json;
using System.IO;
namespace ShareX.UploadersLib.ImageUploaders
{
public sealed class VgymeUploader : ImageUploader
{
public override UploadResult Upload(Stream stream, string fileName)
{
UploadResult result = UploadData(stream, "http://vgy.me/upload", fileName);
if (result.IsSuccess)
{
VgymeResponse response = JsonConvert.DeserializeObject<VgymeResponse>(result.Response);
if (response != null && !response.Error)
{
result.URL = response.Image;
result.DeletionURL = response.Delete;
}
}
return result;
}
private class VgymeResponse
{
public bool Error { get; set; }
public string URL { get; set; }
public string Image { get; set; }
public long Size { get; set; }
public string Filename { get; set; }
public string Ext { get; set; }
public string Delete { get; set; }
}
}
}

View file

@ -178,6 +178,7 @@
<Compile Include="HelperClasses\OAuth\IOAuthBase.cs" />
<Compile Include="ImageUploaders\Chevereto.cs" />
<Compile Include="ImageUploaders\HizliResim.cs" />
<Compile Include="ImageUploaders\VgymeUploader.cs" />
<Compile Include="TextUploaders\Hastebin.cs" />
<Compile Include="TextUploaders\Upaste.cs" />
<Compile Include="UploadersConfig.cs" />

View file

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