Forming erfordern IBase64-Strings von gleicher Länge für jede gegebene Größe Datei
Ein gültiger Base64 Stringwert, der den Block identifiziert. Vor der Kodierung muss die Zeichenfolge kleiner oder gleich 64 Byte groß sein.
Für einen gegebenen Blob muss die Länge des für den Parameter blockid angegebenen Werts für jeden Block dieselbe Größe haben.
Beachten Sie, dass die Base64-Zeichenfolge URL-codiert sein muss.
wie in https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/put-block angegeben.
Dafür konvertiere ich einige C# -Code nach Java. Und ich habe Probleme mit dieser Codezeile
//create a blockID from the block number, add it to the block ID list
//the block ID is a base64 string
String blockId = Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(string.Format("BlockId{0}",blockNumber.ToString("0000000"))));
ich unten versucht:
String str = "BlockId"+blockNumber;
String blockId = Base64.getEncoder().encodeToString(("BlockId"+(blockNumber+"")).getBytes("utf-8"));
Aber ich bin nicht in der Lage zu verstehen, was „0000000“ als ein Argument zu ToString tun und was ist sein Äquivalent in Java.
Und auch wie kann ich die zweite Bedingung erfüllen, dass die Länge der Blockid jedes Blocks oder Zufallsdatei in JAVA identisch sein sollte. Da die Dateigröße variieren kann.
Was ist 'blockNumber'? Wie wird es in der C# Version deklariert? –