More small fixes, and some refactoring.

git-svn-id: http://svn.code.sf.net/p/greenshot/code/trunk@2140 7dccd23d-a4a3-4e1f-8c07-b4c1b4018ab4
This commit is contained in:
RKrom 2012-10-13 15:14:57 +00:00
commit 048826df3d
8 changed files with 130 additions and 100 deletions

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\CommonProject.properties" />
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\CommonProject.properties" />
<PropertyGroup>
<ProjectGuid>{9C0ECC4C-7807-4111-916A-4F57BB29788A}</ProjectGuid>
<OutputType>Library</OutputType>
@ -79,4 +79,32 @@ copy "$(ProjectDir)bin\$(Configuration)\$(ProjectName).pdb" "$(SolutionDir)bin\$
mkdir "$(SolutionDir)bin\$(Configuration)\Languages\Plugins\$(ProjectName)"
copy "$(ProjectDir)\Languages\*.xml" "$(SolutionDir)bin\$(Configuration)\Languages\Plugins\$(ProjectName)\"</PostBuildEvent>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'x86' ">
<RegisterForComInterop>False</RegisterForComInterop>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<BaseAddress>4194304</BaseAddress>
<PlatformTarget>x86</PlatformTarget>
<FileAlignment>4096</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
<RegisterForComInterop>False</RegisterForComInterop>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<BaseAddress>4194304</BaseAddress>
<PlatformTarget>AnyCPU</PlatformTarget>
<FileAlignment>4096</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<DefineConstants>DEBUG;TRACE</DefineConstants>
<Optimize>False</Optimize>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<DebugType>None</DebugType>
<DebugSymbols>false</DebugSymbols>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<DefineConstants>TRACE</DefineConstants>
<Optimize>True</Optimize>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<DebugType>None</DebugType>
<DebugSymbols>false</DebugSymbols>
</PropertyGroup>
</Project>

View file

@ -78,26 +78,25 @@ namespace GreenshotPhotobucketPlugin {
oAuth.Token = config.Token;
oAuth.TokenSecret = config.TokenSecret;
Dictionary<string, object> parameters = new Dictionary<string, object>();
IDictionary<string, object> signedParameters = new Dictionary<string, object>();
// add album
parameters.Add("id", "Apex75/greenshot");
signedParameters.Add("id", "Apex75/greenshot");
// add type
parameters.Add("type", "base64");
signedParameters.Add("type", "base64");
// add title
if (title != null) {
parameters.Add("title", title);
signedParameters.Add("title", title);
}
// add filename
if (filename != null) {
parameters.Add("filename", filename);
signedParameters.Add("filename", filename);
}
IDictionary<string, object> unsignedParameters = new Dictionary<string, object>();
// Add image
unsignedParameters.Add("uploadfile", new ImageContainer(image, outputSettings, filename));
try {
string apiUrl = "http://api.photobucket.com/album/!/upload";
oAuth.Sign(HTTPMethod.POST, apiUrl, parameters);
apiUrl = apiUrl.Replace("api.photobucket.com", config.SubDomain);
// Add image
parameters.Add("uploadfile", new ImageContainer(image, outputSettings, filename));
responseString = oAuth.MakeRequest(HTTPMethod.POST, apiUrl, parameters, null);
responseString = oAuth.MakeOAuthRequest(HTTPMethod.POST, apiUrl, apiUrl.Replace("api.photobucket.com", config.SubDomain), signedParameters, unsignedParameters, null);
} catch (Exception ex) {
LOG.Error("Error uploading to Photobucket.", ex);
throw ex;