2015-12-10 1 views
1

Je crée un programme de bureau c winforms avec le support de la boîte de dépôt. Le problème vient où l'utilisateur doit sélectionner le fichier (de la boîte de dépôt) qu'il aimerait ouvrir. Est-il possible d'utiliser le OpenFileDialog pour afficher le contenu du compte de dépôt de la personne? Je sais que vous pouvez simplement diriger openFileDialog vers le dossier local de la boîte de dépôt, mais je ne veux pas le faire. Cela signifie que la personne doit avoir une boîte de dépôt installée sur cet ordinateur avant de pouvoir utiliser cette fonction de mon programme. Si vous ne pouvez pas faire cela, comment allez-vous utiliser les vues arborescentes et listées pour créer votre propre openFileDialog? Je voudrais garder le même design que le standard openFileDialog. J'ai lu que vous pouvez créer une classe de rappeur pour personnaliser l'openFileDialog mais je ne sais pas comment cela fonctionnera. J'ai regardé sur google mais je ne trouve pas ce que je cherche. Tout conseil ou exemple sera apprécié. J'utilise dotnet 4.5 et la bibliothèque dropnet.Ouvrir le fichier de la boîte de dépôt avec OpenFileDialog et dropnet C#

Merci

+0

L'utilisation de Dropbox API/SDK est-elle une option? https://www.dropbox.com/developers/documentation/dotnet#documentation –

+0

Si l'API/SDK est une option, cela peut vous aider à démarrer: http://dropbox.github.io/dropbox-sdk-dotnet/html /T_Dropbox_Api_Files_ListFolderArg.htm –

+0

Le compte Dropbox n'est-il pas automatiquement synchronisé avec un dossier local si le client Dropbox est installé? Dans ce cas, il faudrait ouvrir/sauvegarder un fichier local. –

Répondre

0

OpenFileDialog affiche uniquement les fichiers existants. Votre programme peut agir comme une application client de boîte de dépôt et charger tous les fichiers sur le client dans un dossier local. Ensuite, lorsque vous affichez le OpenFileDialog, vous pouvez définir ce dossier comme InitialDirectory de la boîte de dialogue de fichier.

Si vous ne souhaitez pas charger tous les fichiers, vous pouvez créer des fichiers fictifs (vides) dans le dossier local et après que l'utilisateur a choisi d'afficher le fichier OpenFileDialog, puis télécharger le fichier et le montrer à l'utilisateur .

+0

Cela peut éventuellement fonctionner. Comment allez-vous créer la structure de répertoire factice? Je veux dire afficher le contenu du compte Dropbox sans le télécharger dans un dossier local. Si vous pouvez verrouiller la boîte de dialogue ouverte à ce répertoire fictif, cela fonctionnera. En outre oui, je ne suis pas contre l'utilisation de l'api dropbox. Faites-vous référence à v1 ou v2? Je n'ai choisi que dropnet car il me semblait être le plus convivial. – Hendri

+0

Je n'ai jamais travaillé avec une boîte de dépôt, c'est une idée et l'implémentation est simple. Vous pouvez trouver tous les fichiers et dossiers de la hiérarchie du compte de la boîte de dépôt de l'utilisateur et créer des répertoires et des fichiers de taille nulle. Comme je l'ai dit dans la réponse, montrez 'OpenFileDialog' et choisissez le répertoire racine que vous avez créé comme 'InitialDirectory' puis, après que l'utilisateur a sélectionné un fichier, vous pouvez le vérifier s'il est sélectionné dans ce répertoire puis le télécharger et le montrer au utilisateur. Vous pouvez également mettre en cache les fichiers de cette façon. –

+0

@Hendri Il semble que le message partage l'idée principale et répond à votre question. Ce serait génial si vous notiez la réponse comme acceptée :) –