.NET – Wie kann ich das Herunterladen einer .tiff-Datei von .NET 4.5 auf 8 aktualisieren? [Duplikat]C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 .NET – Wie kann ich das Herunterladen einer .tiff-Datei von .NET 4.5 auf 8 aktualisieren? [Duplikat]

Post by Anonymous »

Ich arbeite derzeit an der Migration eines Projekts von .NET 4.5 auf 8. Eine der Schlüsselfunktionen des alten Projekts ist die Möglichkeit, einen Barcode einer bestimmten Zeichenfolge herunterzuladen:
Alte Funktionalität

Code: Select all

    public FileResult DownloadBarcode(string BarCodeString, string CampaignName, string StartDate)
{
try
{
using (WebClient wc = new WebClient())
{
var byteArr = wc.DownloadData(string.Format(
https://foo.InternalStringToBitmapConverter,
BarCodeString));
string fileName = string.Format("{0}-{1}.tiff",
CampaignName.Replace("#", "").Replace(" ", ""),
StartDate.Replace("/", "-").Substring(0, StartDate.IndexOf(" ")));
return File(byteArr, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);
}

}
catch (System.Net.WebException ex)
{
log.Error("Error retrieving barcode from service, error: " + ex.Message, ex);
return null;
}
}
Klarstellung: foo.InternalStringToBitmapConverter ist ein Dienst, der einen String in ein Bitmap-Array konvertiert. Ich glaube nicht, dass ich das mit der .NET 8-Funktionalität benötige.
Beim Versuch, dies nun auf 8.0 zu konvertieren, sagt mir VS, dass WebClient veraltet ist und ich HttpClient verwenden soll. Ich habe versucht, die gleiche Funktionalität zum Laufen zu bringen, finde aber keine Möglichkeit, diesen Code auf 8.0 zu migrieren.
Damit dies funktioniert, benötige ich:
Eine Funktion, die eine String-Eingabe aufnimmt (was etwa den Effekt von „AA123456789“ haben wird), die Zeichenfolge in eine Bitmap umwandelt und den resultierenden Barcode in einer TIFF-Datei speichert. Diese Datei muss dann an den Browser zurückgesendet werden.
Ich habe dies bisher durch das Herunterladen einer BMP-Datei erreicht, aber ich benötige die Datei im TIFF-Format. Ich habe keine Möglichkeit gefunden, diesen Code in eine TIFF-Datei herunterzuladen.

Code: Select all

  public ActionResult DownloadBarcode(string item)
{
var bitmapWriter = new BarcodeWriter
{
Format = BarcodeFormat.CODE_128, // change barcode type as needed
Options = new ZXing.Common.EncodingOptions
{
Height = 150,
Width = 1158,
}
};

var height = 150; // These sizes must be stagnant
var width = 1158;

var bitmap = bitmapWriter.Write(item.ToString());

Bitmap barcodeImage = new Bitmap(width, height, PixelFormat.Format32bppRgb);

for (int y = 0; y < height; y++)
{
for (int x = 0; x < width; x++)
{
int i = ((y * width) + x);

Color color = Color.FromArgb(0, bitmap.Pixels[i].Red, bitmap.Pixels[i].Green, bitmap.Pixels[i].Blue);
barcodeImage.SetPixel(x, y, color);
}
}

var now = DateTime.Now;

MemoryStream stream = new MemoryStream();
barcodeImage.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp);
Byte[] bytes = stream.ToArray();

return File(bytes, "image/bmp", "AA" + item + ".Bmp");
}
Vielen Dank für Ihre Hilfe!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post