Spécifiez l'emplacement pour enregistrer le fichier pdf asp.net
Ci-dessous mon code qui génère un exemple de fichier PDF. Cependant le serveur.méthode mappath enregistre le fichier dans le dossier du projet. Comment puis-je autoriser le fichier PDF pour être sauvé dans mon propre bureau?
protected void btnPDF_Click(object sender, EventArgs e)
{
var document = new Document(PageSize.A4, 50, 50, 25, 25);
var filename = DDLCase.SelectedItem.Text + ".pdf";
var output = new FileStream(Server.MapPath(filename), FileMode.Create);
var writer = PdfWriter.GetInstance(document, output);
document.Open();
var welcomeParagraph = new Paragraph("Test1");
document.Add(welcomeParagraph);
document.Close();
btnPDF.Enabled= false;
}
- "enregistré dans un ordinateur de bureau" - pourquoi pensez-vous que l'emplacement sur le serveur est mieux que les autres (ainsi que certains comptes ne peuvent pas avoir rempli correctement le "bureau")... Ou si vous voulez causer de la boîte de dialogue enregistrer dans le navigateur? Ou vous souhaitez utiliser côté serveur de code à enregistrer sur le bureau sur l'ordinateur de l'utilisateur?
- essayez de
string fileName = Path.Combine(@"C:\Users\username\Desktop", filename);
ou d'essayer deVirtualPathUtility
. - En fait, je suis actuellement à la juste essayer les bases de fichier PDF sur un localhost. Donc, je suis juste essayer de trouver un moyen pour enregistrer le fichier PDF dans n'importe quel emplacement sur le bureau sur l'ordinateur de l'utilisateur.
- Spécifier l'emplacement que vous voulez et sauvegarder... Ou j'ai raté quelque chose? De faire de la question "spécifier l'emplacement du bureau de" responsable, vous devez spécifier quel compte d'utilisateur doit être utilisé pour trouver des dossier sur le bureau (actuelle? l'un des processus s'exécute sous? la vôtre?).
- Ma question ici est en fait très simple. Comme vous pouvez le voir dans mes codes, mon fichier PDF est généré automatiquement à partir de mon fichier de projet. J'essaie de me renseigner si il y a une autre façon pour moi d'enregistrer mon fichier PDF dans un autre emplacement. Il peut ne pas être nécessairement au bureau.
Vous devez vous connecter pour publier un commentaire.
C'est très flou ce que votre problème est ainsi que cela doit être assez simple de remplacer
Server.MapPath(filename)
avec un autre emplacement.Une fonction utile est Chemin d'accès.Combiner de sorte que vous pouvez construire correctement chemin d'accès à un fichier:
Remarque que, pour être fait correctement dossier sur le serveur où vous souhaitez stocker les fichiers doivent avoir les autorisations nécessaires pour permettre à ASP.Net procédé pour enregistrer des fichiers. Si vous utilisez l'authentification Windows avec l'emprunt d'identité, il devient plus délicat que le code de compte est en cours d'exécution en vertu de lors de la demande sera entrants du compte de l'utilisateur.
string
et comment les littéraux de chaîne peuvent être représentés).Essayer cette