2010-02-20 7 views
6

Tengo una aplicación web ASP.NET y necesito poner datos de la página web en el archivo de texto de salida. Me gustaría dar al usuario la posibilidad de seleccionar la carpeta donde se guardará el archivo. Por ejemplo, cuando el usuario hace clic en el botón 'Buscar', debe aparecer el cuadro de diálogo Seleccionar carpeta.¿Cómo podría seleccionar una carpeta o archivo de la aplicación web asp.net?

¿Es posible implementar tal cosa en la aplicación web asp.net?

Gracias,

Sergey

Respuesta

2

EDIT:

En cuanto a su comentario, creo que quiere decir empujar a la secuencia de respuesta en su lugar?

protected void lnbDownloadFile_Click(object sender, EventArgs e) 
{ 
    String YourFilepath; 
    System.IO.FileInfo file = 
    new System.IO.FileInfo(YourFilepath); // full file path on disk 
    Response.ClearContent(); // neded to clear previous (if any) written content 
    Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name); 
    Response.AddHeader("Content-Length", file.Length.ToString()); 
    Response.ContentType = "text/plain"; 
    Response.TransmitFile(file.FullName); 
    Response.End(); 
} 

Esto debería mostrar un cuadro de diálogo en el navegador que permite al usuario seleccionar dónde guardar el archivo.

que desea utilizar el control de diálogo FileUpload Tal descarga

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload.aspx

protected void UploadButton_Click(object sender, EventArgs e) 
    { 
    // Specify the path on the server to 
    // save the uploaded file to. 
    String savePath = @"c:\temp\uploads\"; 

    // Before attempting to perform operations 
    // on the file, verify that the FileUpload 
    // control contains a file. 
    if (FileUpload1.HasFile) 
    { 
     // Get the name of the file to upload. 
     String fileName = FileUpload1.FileName; 

     // Append the name of the file to upload to the path. 
     savePath += fileName; 


     // Call the SaveAs method to save the 
     // uploaded file to the specified path. 
     // This example does not perform all 
     // the necessary error checking.    
     // If a file with the same name 
     // already exists in the specified path, 
     // the uploaded file overwrites it. 
     FileUpload1.SaveAs(savePath); 

     // Notify the user of the name of the file 
     // was saved under. 
     UploadStatusLabel.Text = "Your file was saved as " + fileName; 
    } 
    else 
    {  
     // Notify the user that a file was not uploaded. 
     UploadStatusLabel.Text = "You did not specify a file to upload."; 
    } 

    } 
+0

no estoy seguro de que necesite el control FileUpload. Este control me da la capacidad de subir archivos al servidor. lo que necesito es darle al cliente la capacidad de seleccionar la carpeta local en su máquina y guardar el archivo en esta carpeta. No necesito subir el archivo al servidor. Necesito guardar el archivo en la carpeta especificada de la máquina local –

+0

respuesta editada para mostrar cómo insertar el archivo en la secuencia de respuesta. – hearn

+0

gracias por la respuesta! eso es lo que necesitaba ¿Podría preguntarte una cosa más? ¿Es posible mostrar el cuadro de diálogo 'Seleccionar archivo' sin la primera ventana 'Abrir o Guardar archivo'? –

3

Uso <input type="file"> el usuario sólo puede navegar por los archivos en su computadora. No hay forma de que vea carpetas en el servidor a menos que le proporcione una lista o una estructura de vista de árbol para que pueda elegir. Aquí hay un example de la construcción de una vista de árbol.

+0

¡excelente respuesta! ¡de mucha ayuda! – rofans91

+0

Gracias. Estaba buscando esto De mucha ayuda. – user1071979

1

es específico del navegador.

Eche un vistazo a los controladores genéricos con Response.Write o mejor escriba un Http Handler para tal fin.

Cuestiones relacionadas