Meine ASP.NET MVC-Anwendung (C#) verwendet Uploadify, um Dateien mit SDK für .NET auf Amazon S3 hochzuladen, aber es zeigt einen fehlerhaften Upload-Fortschritt an.Falscher Upload-Fortschritt beim Hochladen von Datei auf Amazon S3 mit SDK und Uploadify
Wenn ich eine Datei mit Uploadify direkt auf unseren Server hochlade, funktioniert es einwandfrei. Wenn ich jedoch eine Datei mit der Methode "TransferUtility.Upload" von Amazon S3 hochlade, wird die Fortschrittsanzeige schnell zu 100% fertig, aber ich muss lange warten, um das onComplete
-Ereignis von Uploadify zu erreichen. Mein Code ist unten gezeigt.
C# -Code:
using (transferUtility = new TransferUtility(AWSAccessKey, AWSSecretKey))
{
try
{
TransferUtilityUploadRequest request = new TransferUtilityUploadRequest();
request.WithBucketName(AWSBucket)
.WithKey(folderKey)
.WithTimeout(5 * 60 * 1000)
.WithInputStream(uploadFileStream);
request.WithCannedACL(S3CannedACL.PublicRead);
transferUtility.Upload(request);
}
catch (AmazonS3Exception amazonS3Exception)
{
throw amazonS3Exception;
}
}
JavaScript-Code:
jQuery(document).ready(function() {
var allowdfileext='*.doc;*.docx;*.pdf;'
var extarray=allowdfileext.split(';');
jQuery('#proposalUploadFile').uploadify({
'uploader': '/Content/uploadify/uploadify.swf',
'script': '/File/Upload',
'folder': '/uploads',
'buttonImg':'/Content/uploadify/upload-file.jpg',
'cancelImg': '/Content/uploadify/cancel.png',
'auto': true,
'height': '25',
'width': '95',
'wmode':'transparent',
'sizeLimit': '20971520',
'onComplete': fileUploaded,
'multi': false,
'scriptData': {
'saveToFolder': 'Temp',
'fileextension':'*.doc;*.docx;*.pdf;',
'subdomain':'qa','saveInLocal':'True'
},
'fileExt':'*.doc;*.docx;*.pdf;',
'fileDesc':'Files (*.doc;*.docx;*.pdf;)',
'onAllComplete': fileUploadCompleted,
'onError' : function(event, ID, fileObj, errorObj) {
var r = '<br />ERROR: ';
switch(errorObj.info) {
case 405:
r += 'Invalid file type.';
break;
case 406:
r += 'Some other error.';
break;
default:
r += 'Some other error.';
break;
}
}
});
});
Warum ist nicht der Fortschrittsbalken zu aktualisieren, wie ich es erwartet habe?