Как совместно использовать функции wkhtmltopdf и Azure для преобразования HTML в IMAGE? - PullRequest
0 голосов
/ 22 октября 2018

У меня есть AF, которому я передаю параметр с веб-сайта, и функция создает BLOB-объект с преобразованным HTML в изображение.Как именно это сделать с помощью wkhtmltopdf, поскольку я понимаю, что некоторые файлы с расширением .exe необходимо загрузить где-то рядом с моей функцией Azure, но они не полностью понимают всю процедуру.Я скачал установщик wkhtmltopdf с веб-сайта, а затем установил его на свой компьютер с Windows.Что мне нужно сделать в Azure?Любые учебные пособия или уроки?

Я использую это: https://github.com/mrdaghestani/HtmlPI, но не понимаю эту часть:

Сначала вы должны установить wkhtmltopdf на сервер приложений (ваша разработкасистема или системы клиента)

Как установить это на Azure, чтобы моя функция Azure работала там?

[FunctionName("htmlToImage")]
public static async Task<HttpResponseMessage> 
Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = 
null)]HttpRequest req, TraceWriter log)
{
string url = req.Query["url"];

byte[] EncodedData = Convert.FromBase64String(url);
string DecodedURL = Encoding.UTF8.GetString(EncodedData);

string requestBody = new StreamReader(req.Body).ReadToEnd();
dynamic data = JsonConvert.DeserializeObject(requestBody);
DecodedURL = DecodedURL ?? data?.name;

HtmlConverter htmlConverter = new HtmlConverter();
var filePath = htmlConverter.Convert(new GenerateSettings { Url = DecodedURL, OutputType = OutputType.Image });

//string BlobName = "myblob1";
//string ImageURL = await CreateBlob($"{BlobName}.png", (byte[])..., log);

var Result = new HttpResponseMessage(HttpStatusCode.OK);

//
// JSON
//
var oJSON = new { url = ImageURL, hash = BlobName };
var jsonToReturn = JsonConvert.SerializeObject(oJSON);

Result.Content = new StringContent(jsonToReturn);
Result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

return Result;
}

1 Ответ

0 голосов
/ 24 октября 2018

Вы можете получить доступ к файловой системе вашего приложения функций через Kudu , к которой вы можете получить доступ через https://{your имя приложения функции} .scm.azurewebsites.net, затем выбрав Консоль отладки> CMD или PowerShell.

...