iRunFromTrolls
iRunFromTrolls

Reputation: 23

Kraken.io image resizing

using Kraken;
using Kraken.Http;
using Kraken.Model;
public void ResizeSelectedImages()
        {
            var filesToResize = FilesInFolderListBox.SelectedItems;
            var connection = Connection.Create(Properties.Settings.Default.krakenkey, Properties.Settings.Default.krakensecret, Properties.Settings.Default.SandBoxMode);
            var client = new Client(connection);

            foreach (var file in filesToResize)
            {
                var response = client.OptimizeWait(new Uri("http://awesome-website.com/images/header.png"),
                                new OptimizeUploadWaitRequest()
                                {
                                    ResizeImage = new ResizeImage
                                    {
                                        Width = 100,
                                        Height = 75,
                                        Strategy = Strategy.Crop
                                    }
                                }
                        );

            }
        }

pretty obvious what im trying to do i guess, and this is pretty much the code just copied from the kraken.io documentation. what this gives me though is a lot of red lines starting from "new OptimizeUploadWaitRequest()" , saying that "Argument 2: conversion from Kraken.Model.OptimizeUploadWaitRequest in System.Threading.CancellationToken not possible"...

the other aspects of the Kraken are working so far (taking images from my local directory, "optimizing" them and uploading them to the FTP.. somehow though this one doesnt work... google searches are all about some certain sea creature with at least 6 arms...

does anyone know of this problem and can help me? or see what i did wrong?..or point me in the right direction.. i tried reinstalling the package (the uri would be file.toString() but that shouldnt matter and gave already an error before i copied it from the docu)

Upvotes: 1

Views: 446

Answers (1)

iRunFromTrolls
iRunFromTrolls

Reputation: 23

ok solved my own question.. i just took the wronng task .. and the documentation on the kraken.io site is faulty.

according to the documentation you should give it a uri and the optimizeUploadWaitRequest.. while according to the metadata theres nothing that takes an uri + and optimizeUploadWaitRequest .. only the uri and a cancellationToken or a filepath and the optimizeUploadWaitRequest.. so.. yeah.. shouldve looked there first.

        //public Task<IApiResponse<OptimizeResult>> Optimize(byte[] image, string filename, IOptimizeUploadRequest optimizeRequest, CancellationToken cancellationToken);
        //public Task<IApiResponse<OptimizeResult>> Optimize(string filePath, IOptimizeSetUploadRequest optimizeRequest);
        //public Task<IApiResponse<OptimizeResult>> Optimize(byte[] image, string filename, IOptimizeSetUploadRequest optimizeRequest, CancellationToken cancellationToken);
        //public Task<IApiResponse<OptimizeResult>> Optimize(byte[] image, string filename, IOptimizeSetUploadRequest optimizeRequest);
        //public Task<IApiResponse<OptimizeResult>> Optimize(IOptimizeSetRequest optimizeSetRequest, CancellationToken cancellationToken);
        //public Task<IApiResponse<OptimizeResult>> Optimize(IOptimizeSetRequest optimizeSetRequest);
        //public Task<IApiResponse<OptimizeResult>> Optimize(IOptimizeRequest optimizeRequest, CancellationToken cancellationToken);
        //public Task<IApiResponse<OptimizeResult>> Optimize(IOptimizeRequest optimizeRequest);
        //public Task<IApiResponse<OptimizeResult>> Optimize(string filePath, IOptimizeSetUploadRequest optimizeRequest, CancellationToken cancellationToken);
        //public Task<IApiResponse<OptimizeResult>> Optimize(string filePath, IOptimizeUploadRequest optimizeRequest, CancellationToken cancellationToken);
        //public Task<IApiResponse<OptimizeResult>> Optimize(string filePath, IOptimizeUploadRequest optimizeRequest);
        //public Task<IApiResponse<OptimizeResult>> Optimize(byte[] image, string filename, IOptimizeUploadRequest optimizeRequest);
        //public Task<IApiResponse<OptimizeResult>> Optimize(string filePath, Uri callbackUrl, CancellationToken cancellationToken);
        //public Task<IApiResponse<OptimizeResult>> Optimize(string filePath, Uri callbackUrl);
        //public Task<IApiResponse<OptimizeResult>> Optimize(Uri imageUri, Uri callbackUrl);
        //public Task<IApiResponse<OptimizeResult>> Optimize(Uri imageUri, Uri callbackUrl, CancellationToken cancellationToken);
        //public Task<IApiResponse<OptimizeWaitResult>> OptimizeWait(string filePath, IOptimizeUploadWaitRequest optimizeWaitRequest);
        //public Task<IApiResponse<OptimizeWaitResult>> OptimizeWait(Uri imageUri);
        public Task<IApiResponse<OptimizeWaitResult>> OptimizeWait(Uri imageUri, CancellationToken cancellationToken);
        //public Task<IApiResponse<OptimizeSetWaitResults>> OptimizeWait(string filePath, IOptimizeSetUploadWaitRequest optimizeWaitRequest, CancellationToken cancellationToken);
        //public Task<IApiResponse<OptimizeSetWaitResults>> OptimizeWait(string filePath, IOptimizeSetUploadWaitRequest optimizeWaitRequest);
        //public Task<IApiResponse<OptimizeSetWaitResults>> OptimizeWait(byte[] image, string filename, IOptimizeSetUploadWaitRequest optimizeWaitRequest, CancellationToken cancellationToken);
        //public Task<IApiResponse<OptimizeSetWaitResults>> OptimizeWait(byte[] image, string filename, IOptimizeSetUploadWaitRequest optimizeWaitRequest);
        //public Task<IApiResponse<OptimizeSetWaitResults>> OptimizeWait(IOptimizeSetWaitRequest optimizeSetWaitRequest, CancellationToken cancellationToken);
        //public Task<IApiResponse<OptimizeSetWaitResults>> OptimizeWait(IOptimizeSetWaitRequest optimizeSetWaitRequest);
        //public Task<IApiResponse<OptimizeWaitResult>> OptimizeWait(string filePath);
        //public Task<IApiResponse<OptimizeWaitResult>> OptimizeWait(string filePath, CancellationToken cancellationToken);
        //public Task<IApiResponse<OptimizeWaitResult>> OptimizeWait(IOptimizeWaitRequest optimizeWaitRequest, CancellationToken cancellationToken);
        //public Task<IApiResponse<OptimizeWaitResult>> OptimizeWait(IOptimizeWaitRequest optimizeWaitRequest);
        //public Task<IApiResponse<OptimizeWaitResult>> OptimizeWait(byte[] image, string filename, IOptimizeUploadWaitRequest optimizeWaitRequest, CancellationToken cancellationToken);
        //public Task<IApiResponse<OptimizeWaitResult>> OptimizeWait(byte[] image, string filename, IOptimizeUploadWaitRequest optimizeWaitRequest);
        public Task<IApiResponse<OptimizeWaitResult>> OptimizeWait(string filePath, IOptimizeUploadWaitRequest optimizeWaitRequest, CancellationToken cancellationToken);
        //public Task<IApiResponse<UserResult>> UserStatus(CancellationToken cancellationToken);
        //public Task<IApiResponse<UserResult>> UserStatus();

so ill just have to take the right one out of there (the two entries not commented out.. for clarity .. i hope)

so yeah .. as good as kraken seems to work.. the documentation.. isnt up to date.

Upvotes: 1

Related Questions