Die Codekopie lautet wie folgt:
<input name = "Datei" type = "Datei">
formSize = request.totalbytes
FormData = Request.BinaryRead (Formsize)
bncrlf = chrb (13) & chrb (10)
Divider = link (FormData, CLNG (Instrb (FormData, Bncrlf))-1)
DataStart = Instrb (FormData, Bncrlf & Bncrlf) +4
Dataend = Instrb (DataStart+1, FormData, Teiler) -Datastart
MyData = Midb (FormData, DataStart, DataSend)
formSize = request.totalbytes
Holen Sie sich die maximale Anzahl hochgeladener Bytes
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
FormData = Request.BinaryRead (Formsize)
Erhalten Sie Formularformaten des binären Streams
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
bncrlf = chrb (13) & chrb (10)
Setzen Sie die CRLF -Eingaberleitungs -Break -Code -Variable
-----------------------------------
Divider = link (FormData, CLNG (Instrb (FormData, Bncrlf))-1)
Holen Sie sich die Byte -Daten links von der ersten CRLF
Instrb (FormData, BncRlf) -1-Maschine prüft, ob der Bitwert des Binärbytes von CRLF um eins reduziert wird, dh die Binärdaten vor den Flag-Bitinformationen. Es ist zu beachten, dass Instrbs CLNG zurückgibt. Das Hinzufügen eines CLNG hier ist daher unnötig
-----------------------------------
DataStart = Instrb (FormData, Bncrlf & Bncrlf) +4
Holen Sie sich die Bilddaten und entfernen Sie die Startposition der Header -Informationen, die durch das Formularformular hinzugefügt wurden, dh der Startposition der Bytes der realen Dateidaten, nachdem das Formular von Ihrer Datei type = Datei übermittelt wurde
Die Position von zwei aufeinanderfolgenden CRLFs +4 (dh die Länge eines CRLFG)
-------------------------------
Dataend = Instrb (DataStart+1, FormData, Teiler) -Datastart
Die aus der oben genannte Datenposition +1 erhaltene Datenposition wird als Referenzwert für die Überprüfung des Datenendes verwendet. Die Positionserkennung beginnt bei DataStart+1 gibt die Position der ersten Binärform -Separator -Headerinformationen zurück und subtrahiert dann die relative Position des DataStars
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
MyData = Midb (FormData, DataStart, DataSend)
Midb () nimmt die Sternend -Bitdaten der Upload -Dateidaten auf
OK ---------------> Jetzt die hochgeladenen Sekundärdaten sauber extrahieren
Notiz:
(1). Alle VB -Funktionen von *B -Serien werden von Bytes verarbeitet und müssen verwendet werden, um sekundäre Systeme zu verarbeiten.
(2) Nachdem die Formulardaten von Typ = Datei und entsprechender Formulartyp übermittelt wurden, werden die entsprechenden Header -Informationen an jedes Dateifeld angehängt.
Daher muss der obige Algorithmus verwendet werden, um die realen Dateidaten klar zu finden
(3). Gleichzeitig enthält die Header -Informationen auch Daten, die den ersten Dateinamen hochladen, z. B. c: /aaa/aaa.jpg. Die Daten von FormData können im ersten Testdateinamen der Dateidomänendaten des Segments verarbeitet werden.
(4). Diese Algorithmen werden aus den Formatdaten abgeleitet, die durch die HTTP -Formspezifikation bereitgestellt werden, sodass jeder Verarbeitungsalgorithmus ähnlich ist!