2009-05-24 7 views
1

Comment O peut-il créer un simple compteur de téléchargement de fichiers avec ASP.NET en C#? Par exemple, lorsqu'un utilisateur clique sur le fichier et le télécharge, je veux le mettre à jour avec +1 et enregistrer son nom de fichier dans DB. lorsque l'utilisateur onmouse sur le lien je veux montrer une info-bulle avec le fichier téléchargé Times.But si l'utilisateur Annuler le statut de téléchargement, il ne le mettra pas à jour.Compteur de téléchargement de fichiers simple avec ASP.NET?

Répondre

0

Si vous ne voulez pas mettre à jour à moins que le fichier ne soit complètement téléchargé, vous devrez écrire le vôtre generic handler, dans lequel vous mettez à jour la base de données à la toute fin du traitement.

Pour la DB, je recommande d'avoir une table où vous stockez chaque occurrence de téléchargement, et celui où vous stocker des informations sur chaque fichier, par exemple

tblDownloads 
************ 
DlID (GUID, not nullable, primary key) 
Date (datetime, not nullable) 
FileID (GUID, not nullable) 

tblFiles 
******** 
FileID (GUID, not nullable, primary key) 
Url (nvarchar(255), not nullable) 
Title (nvarchar(255), not nullable) 
Description (nvarchar(max)) 

(exemple des types de données, etc. sont nommés comme ils le feraient en MSSQL ...)

pour obtenir le nombre de téléchargement d'un fichier spécifique, vous alors simplement interroger la base de données pour

SELECT COUNT(DlID) FROM tblDownloads WHERE FileID = @FileID 

@FileID est un paramètre avec l'ID de fichier qui vous intéresse. Si vous voulez faire une boucle sur urls pour tous les fichiers, vous pouvez par exemple requête

SELECT 
    f.FileID, f.Url, f.Title, f.Description, COUNT(d.DlID) AS DownloadCount 
FROM tblFiles f INNER JOIN tblDownloads d ON f.FileID = d.FileID 
GROUP BY f.FileID, f.Url, f.Title, f.Description 
+0

peut donc ya Donne-moi par exemple pour la poignée générique pour cela? –

+0

J'ai mis à jour le post. –

+0

Et j'apprécierais si l'utilisateur qui m'a voté vers le bas me donnerait un indice sur pourquoi ... =) –

Questions connexes