2017-03-29 3 views
0

J'ai un code court:Comment puis-je définir FileName après avoir cliqué sur Télécharger un fichier depuis un PC local?

private void buttonSave_Click(object sender, EventArgs e) 
{ 

    OpenFileDialog openFileDialog1 = new OpenFileDialog(); 
    openFileDialog1.Filter = "NHC|*.nhc"; 
    openFileDialog1.Title = @"test.nhc"; 

    OpenFileDialog openfiledialog = new OpenFileDialog(); 
    openfiledialog.ShowHelp = true; 
    openfiledialog.FileName = "test.nhc"; 
    openfiledialog.ShowDialog(); 
} 

Je veux régler le FileName dans OpenFileDialog.
Par exemple: J'ai une application web et je clique Ajouter pour télécharger un fichier à partir du PC local. Le OpenFileDialog PopUp s'ouvre. Maintenant, je veux définir le FileName à test.nhc dans le champ FileName (fenêtre Windows) et cliquez sur "Ouvrir".

Mais cela ne fonctionne pas.

+0

Permettez-moi de comprendre votre question. Vous voulez, lorsque vous appuyez sur un bouton UPLOAD sur une application/page WEB, choisissez quel est le nom de fichier qui apparaît dans la boîte de dialogue de fichier ouvert appartenant au système. – Steve

+0

Je veux télécharger un fichier à partir du PC local. Sur la mise en page est le bouton UPLOAD. Ensuite, je veux trier les fichiers à l'extension .nhc, définissez test.nhc dans la fenêtre des fenêtres FILENAME et cliquez sur OUVRIR. Ensuite, validez la nouvelle version .nhx sur l'application Web (par exemple, en utilisant Webdruver). – Barpe2

+0

Il est assez similaire, comme dans Zamzar.com, lorsque vous cliquez sur [Choisir], fenêtre pop-up de dialogue, puis vous mettez le nom de fichier et cliquez sur Ouvrir. Je veux automatiser ces étapes en C#. – Barpe2

Répondre

0

Voulez-vous définir le nom avant ou après avoir cliqué sur? Vous devez définir ce nom dans PageLoad, par exemple. Pas au clic.

OpenFileDialog openfiledialog = new OpenFileDialog(); 

protected void Page_Load(object sender, EventArgs e) 
{  
     if (!IsPostBack) 
     { 
      openfiledialog.FileName = "test.nhc"; 
     } 
} 

private void buttonSave_Click(object sender, EventArgs e) 
{ 
      openfiledialog.ShowDialog(); 
} 
0

Vous ne gérez pas l'événement pour le bouton OK du fichier ouvert. Vous devez d'abord créer un objet Stream puis un événement qui se produira dans la situation DialogResult.OK.

Voici un exemple de Microsoft

using System; 
 
using System.Collections.Generic; 
 
using System.ComponentModel; 
 
using System.Data; 
 
using System.Drawing; 
 
using System.IO; 
 
using System.Linq; 
 
using System.Text; 
 
using System.Threading.Tasks; 
 
using System.Windows.Forms; 
 

 
namespace WindowsFormsApplication2 
 
{ 
 
    public partial class Form1 : Form 
 
    { 
 
     public Form1() 
 
     { 
 
      InitializeComponent(); 
 
     } 
 

 
     private void button1_Click(object sender, EventArgs e) 
 
     { 
 
      Stream myStream = null; 
 
      OpenFileDialog openFileDialog1 = new OpenFileDialog(); 
 
      openFileDialog1.InitialDirectory = "c:\\"; 
 
      openFileDialog1.Filter = "NHC|*.nhc"; 
 
      openFileDialog1.FilterIndex = 2; 
 
      openFileDialog1.RestoreDirectory = true; 
 
      openFileDialog1.Title = @"test.nhc"; 
 
      if (openFileDialog1.ShowDialog() == DialogResult.OK) 
 
      { 
 
       try 
 
       { 
 
        if ((myStream = openFileDialog1.OpenFile()) != null) 
 
        { 
 
         using (myStream) 
 
         { 
 
          // Insert code to read the stream here. 
 
         } 
 
        } 
 
       } 
 
       catch (Exception ex) 
 
       { 
 
        MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message); 
 
       } 
 
      } 
 
     } 
 

 

 

 
    
 
     } 
 
    }