Je travaille sur une fonctionnalité de mon site Web asp.net qui permet à l'utilisateur de télécharger certains fichiers sous forme de fichier zip. J'utilise la bibliothèque DotNetZip pour générer le fichier zip.Comment gérer les erreurs lors de l'utilisation d'ASP.NET pour créer un fichier zip à télécharger?
Mon code ressemble à ceci:
protected void OkbtnZipExport_OnClickEvent(object sender, EventArgs e)
{
var selectedDocumentIds = GetSelectedDocIds();
string archiveName = String.Format("archive-{0}.zip", DateTime.Now.ToString("yyyy-MMM-dd-HHmmss"));
AddResponseDataForZipFile(Response, archiveName);
try
{
string errorMessage = Utils.ExportToZip(selectedDocumentIds, arkivdelSearchControl.GetbraArkivConnection(), Response.OutputStream);
if (!string.IsNullOrEmpty(errorMessage))
{
LiteralExportStatus.Text = errorMessage;
}
else
LiteralExportStatus.Text = "Success";
}
catch (Exception ex)
{
LiteralExportStatus.Text = "Failure " + ex.Message;
}
Response.Flush();
Response.Close();
HttpContext.Current.ApplicationInstance.CompleteRequest();
}
private void AddResponseDataForZipFile(HttpResponse response, string zipName)
{
Response.Clear();
Response.BufferOutput = false;
Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("content-disposition", "attachment; filename=" + zipName);
Response.AddHeader("Expires", "0");
Response.AddHeader("Content-Description", "Zip Arcive");
}
Maintenant, si quelque chose va mal, dire la méthode Utils.ExportToZip échoue, je veux présenter un message d'erreur à l'utilisateur et non la boîte de dialogue de téléchargement. Dois-je supprimer des données de l'objet Response pour annuler l'opération de téléchargement?
Meilleures salutations
OKB
Merci! Tu es l'homme cheeso! – OKB