L'applicazione ASP.NET MVC (C#) utilizza Uploadify per caricare file su Amazon S3 utilizzando SDK per .NET, ma mostra progressi di caricamento non corretti.Avanzamento caricamento errato visualizzato durante il caricamento di file su Amazon S3 tramite SDK e Uploadify
Quando carico un file direttamente sul nostro server utilizzando Uploadify funziona correttamente. Tuttavia, quando carico un file utilizzando il metodo Amazon S3 TransferUtility.Upload, la barra di avanzamento mostra il completamento al 100% rapidamente, ma devo attendere molto tempo per raggiungere l'evento onComplete
di Uploadify. Il mio codice è mostrato sotto.
codice C#:
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;
}
}
codice JavaScript:
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;
}
}
});
});
Perché non è la barra di avanzamento aggiornando come sto aspettando a?