Wie ermittle ich progressiv md5-Summe bei Multipart-Upload mit blueimp FileUploader?

Mitglied: TheFreeman

TheFreeman (Level 1) - Jetzt verbinden

19.11.2015 um 16:18 Uhr, 1120 Aufrufe

Hallo zusammen,

Ich benutze folgende Scripts für mein File-Upload-GUI:
Mini AJAX File Upload Form | Tutorialzine
https://github.com/blueimp/jQuery-File-Upload

Mein Problem liegt darin, dass ich nach einem Multipart-Upload von großen Dateien
am Ende eine MD5-Summe mitsenden muss, Daher möchte ich gerne aus Performance-
Gründen die md5-Summe immer nur von einem Chunk berechnen und diese dann
progressiv, wie hier beschrieben aufrechnen:
https://code.google.com/p/crypto-js/...essive_Hashing
(... nur eben mit md5 )

Allerdings weiss ich nicht, wie ich an den erzeugten blob herankomme
bzw. wo ich diesen abgreifen kann.

Hat hierzu bitte jemand eine Idee? Ich sitze schon ein paar Tage an dem Problem und komme einfach nicht weiter.

Dazu habe nun folgende options (Ausschnitt):

$('#upload').fileupload({

dropZone: $('#drop'),

type : GLOBAL_FORM_METHOD,
method : "post",
dataType : "json",
maxChunkSize: GLOBAL_CHUNK_SIZE,
multipart : true,

add: function (e, data)
{
var reader = new FileReader();
var file = data.files[0];
var jqXHR;

var tpl = $('<li class="working"><input type="text" value="0" data-width="48" data-height="48"'+
' data-fgColor="#0788a5" data-readOnly="1" data-bgColor="#3e4043" /><p></p><div class="msg"></div><span></span></li>');

tpl.find('p')
.text( file.name )
.append('' + formatFileSize( file.size ) + '');

data.context = tpl.appendTo(ul);

tpl.find('input').knob();

tpl.find('span').click(function()
{
if( tpl.hasClass('working') )
{
jqXHR.abort();
}

tpl.fadeOut( function()
{
tpl.remove();
});
});

data.postMessage = data.files[0].type;
data.contentType = data.files[0].type;

var chunksize = GLOBAL_CHUNK_SIZE > file.size ? file.size : GLOBAL_CHUNK_SIZE;

reader.onload = function( event )
{
var binary = event.target.result;
var md5 = CryptoJS.MD5(binary).toString();

data.url += "&md5sum=" + md5;

jqXHR = data.submit();
};

data.url = GLOBAL_FORM_ACTION;
data.url += "?etf_id=" + GLOBAL_FOLDER_ID;
data.url += "&file_title=" + file.name;

if( GLOBAL_CHUNK_SIZE > file.size )
{
data.url += "&size_chunk_start=" + 0;
data.url += "&size_chunk_length=" + chunksize;
}

data.url += "&size_final=" + file.size;

reader.readAsBinaryString( file );
},

beforeSend : function(e, data)
{
var file = data.files[0];

this.find(".msg").hide();

if( GLOBAL_CHUNK_SIZE < file.size )
{
console.log( "Chunk data: ", data.uploadedBytes, data.chunkSize, file.size, data );

data.url += "&size_chunk_start=" + data.uploadedBytes;
data.url += "&size_chunk_length=" + data.chunkSize;

if( typeof this.attr('session_id') !== "undefined" )
data.url += "&session_id=" + this.attr( 'session_id' );
}

});
Vielen Dank im Voraus! :-) face-smile
Heiß diskutierte Inhalte
Off Topic
Realistische Gehaltsvorstellung für eine "IT-Allroundkraft"
gelöst JiggyLeeVor 23 StundenFrageOff Topic19 Kommentare

Hallo an alle, ich hege momentan den Wunsch mich von der alten verstaubten Behörden Bürokratie und langweiliger Aufgaben los zu lösen und in einem ...

Windows 10
Windows 10 Geschwindigkeitprobleme trotz viel mehr Gb Ram
Matthes88Vor 1 TagFrageWindows 1045 Kommentare

Hallo ihr lieben aaaalso : Da mein neuer Arbeitsspeicher (32gb) von meiner alten Windows 7 version (max mit 8gb kompatibel) nicht angenommen wurde, habe ...

Humor (lol)
Tipp: Dinge, die man besser nicht klaut
altmetallerVor 1 TagTippHumor (lol)12 Kommentare

Hallo, so wurde meiner Hündin z.B. heute der (eingeschaltete) GPS-Tracker mit Mobilfunkanbindung quasi "direkt vom Halsband weggefunden". Akku hatte noch 60% :-P Und ich ...

Windows Server
GPU Passthrough HYPER-V 2019
bintesVor 1 TagFrageWindows Server8 Kommentare

Hallo, ich habe ein ein Problem mit der Bereitstellung einer Grafikkarte an eine virtuelle Maschine. Hardware: - HPE ProLiant DL380 Gen9 V4 Rack Server ...

Video & Streaming
Videoaufnahme funktioniert nur bis zum ersten Reboot (0x80040217)
IllusionFACTORYVor 1 TagFrageVideo & Streaming11 Kommentare

Ich nehme über eine Video-Software von einem USB-Hardware-Encoder Video auf. Das funktioniert exakt bis zum ersten Reboot - danach bekomme ich beim Starten der ...

Windows Server
Windows Admin Center DC
maximidVor 1 TagFrageWindows Server3 Kommentare

Hallo, ich hätte mal eine Frage zu Windows Admin Center und zwar schaue ich es mir aktuell etwas an da mir die zentrale Verwaltung ...

Grafikkarten & Monitore
Monitorhalterung mit 80cm Armlänge
ben1300Vor 22 StundenFrageGrafikkarten & Monitore7 Kommentare

Guten Abend ! ich bin auf der Suche nach einer Monitorhalterung, im besten Fall ohne Bohrung für einen 28" Monitor (Vesa Halterung). Nun kommt ...

SAN, NAS, DAS
Synology DS213j - Volume nach HDD Austausch vergrößern
gelöst JasperBeardleyVor 1 TagFrageSAN, NAS, DAS4 Kommentare

Moin, ich hab meinem NAS zwei neue 8TB spendiert, da die 3TB Platten jetzt 6 Jahre alt sind. Da die beiden Platten im JBOD ...