2017-03-13 3 views
0

Ich habe das folgende Lernprogramm zum Schreiben einer Funktion (siehe Codeausschnitt) abgeschlossen, durch die jedes Mal, wenn ich etwas zu meinem Azure Blob-Speicher hinzufügt, eine geänderte Kopie in einem zusätzlichen Container gespeichert wird .Azure-Speicherfunktion - Image Resizer - Format kann nicht geändert werden

https://ppolyzos.com/2016/12/30/resize-images-using-azure-functions/

Das Problem ist, dass Azure Blob Speicher speichert die verkleinerten Bilder als Octet-Stream (Azure Standardeinstellung), anstatt wie in früheren jpg-Format

Das folgende Tutorial sagt, dass ich einfach Format hinzufügen = JPEG; um dieses Format zu erreichen, wie es im Code-Ausschnitt unten gezeigt wird.

http://jameschambers.com/2016/11/Resizing-Images-Using-Azure-Functions/

Weiß jemand, wie ich das ursprüngliche Format jpeg halten kann, wenn eine verkleinerte Kopie eines Bildes mit azur Funktionen machen?

using ImageResizer; 
using ImageResizer.ExtensionMethods; 

public static void Run(Stream myBlob, string blobname, string blobextension, Stream outputBlob, TraceWriter log) 
{ 
    log.Info($"C# Blob trigger function Processed blob\n Name:{blobname} \n Size: {myBlob.Length} Bytes"); 

    var instructions = new Instructions  
    {   
     Width = 200,   
     Mode = FitMode.Carve,   
     Scale = ScaleMode.Both, 
     Format = Jpeg  
    }; 
    instructions.OutputFormat = OutputFormat.Jpeg; 
    ImageBuilder.Current.Build(new ImageJob(myBlob, outputBlob, instructions)); 
} 

Vielen Dank!

+0

Also, Ihre ursprüngliche Datei ist JPEG, und die Ausgabedatei ist JPEG. Können Sie erklären, welches Problem Sie mit dem Dateiformat haben? Willst du sagen, dass OutputFormat.Jpeg Einstellung nicht wie erwartet funktioniert? – RAS

Antwort

0

Soweit ich weiß, die azure-Funktion erzeugt das Format der Datei ist entsprechend dem Pfad der Ausgabe.

wie unten:

Die Ausgänge: enter image description here

Die tiggers: „Galerie-Größe verändert/{} blobname -w200 {blobextension}“ enter image description here

Wenn Sie den Pfad nach Dies erzeugt die Datei entsprechend dem Blobnamen und der Blobextension der Eingabeblobdatei.

Ich schlage vor, Sie könnten überprüfen, Ihre Tiggers Weg Parameter ist die gleiche wie die Parameter des Ausgangsweges, erstens.

Sie konnten das Format im Funktionscode nicht ändern, da die Funktion die Datei automatisch generiert.

Wenn Sie möchten, dass alle Format der Datei ändern, um jpg, empfehle ich Ihnen den Weg des ouput verändern, wie unten:

gallery-resized/{blobname}-w200.jpg 

Dann wird es immer das jpg-Format Ausgabe erzeugen.

Ergebnis:

enter image description here

Verwandte Themen