6 Stimmen

Azure Page Blob zwingt mich, die Dateigröße zu manipulieren

Ich versuche, einen Page Blob zu erstellen, da ich in Zukunft einen zufälligen Zugriff benötige. Ich kann die Datei zwar hochladen, aber wenn ich sie herunterlade, ist die Größe anders.

Ich bekomme "file.docx" hochgeladen und dann als "file2.docx" heruntergeladen. Die heruntergeladene Datei ist etwas größer, und zwar auf die Größe von Page Blob gerundet, also 512 :) In diesem speziellen Fall gibt Microsoft Word eine Warnung aus, dass die Datei beschädigt ist, aber ich kann sie trotzdem öffnen und der Inhalt entspricht meinen Erwartungen.

Ich habe das Codebeispiel von hier: Verwendung von Windows Azure Page Blobs und effizienter Upload und Download von Page Blobs . Ich habe mir den Code zum Hochladen und die Dokumentation angesehen, und anscheinend muss das Hochladen der Seite auf einer 512-Byte-Grenze beginnen (startingOffset % 512 == 0) und auf einer 512-Grenze enden - 1. Was passiert dann, wenn ich eine Datei hochladen muss, die nicht auf 512 ausgerichtet ist?

Wenn ich zum Beispiel eine Datei mit 550 Bytes habe und sie hochlade und herunterlade, erhalte ich eine Datei mit 1024 Bytes, richtig? Was soll ich tun? die ursprüngliche Dateigröße in den Metadaten beibehalten oder gibt es eine Möglichkeit, es richtig zu machen?(oder Beispiel).

Vielen Dank im Voraus.

3voto

Ja, Sie sollten "die ursprüngliche Dateigröße in den Metadaten beibehalten". Oder erwägen Sie die Verwendung von Block-Blobs.

0voto

Pat Filoteo Punkte 1018

Wenn Sie nach dem zufälligen Zugriff fragen, meinen Sie dann einen zufälligen Zugriff innerhalb der Datei oder einen zufälligen Zugriff auf mehrere Blobs? Ihre Beschreibungen deuten auf Letzteres hin (viele Dateiübertragungen) - d.h. kleine Dateien, auf die zufällig zugegriffen wird, in diesem Fall erfüllt ein Block-Blob Ihre Anforderungen.

Gibt es einen Anwendungsfall für die zufällige Suche innerhalb der Datei? Es gibt Szenarien dafür, aber normalerweise ist die Datei viel größer als 512 Byte.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X