Arun
Arun

Reputation:

save as dialog in asp.net

I have some data in the form of a string. I want to write this data to a file and save the file to the specified path. The path would be specified by opening a save as dialog on the button click. How can this be achieved??

Upvotes: 1

Views: 6015

Answers (5)

user1380541
user1380541

Reputation:

if I userstand you correctly, here -

saveFileDialog1.DefaultExt = "*.file";
        saveFileDialog1.Filter = "File|*.file|Other File|*.OFile|";
        if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK &&
           saveFileDialog1.FileName.Length > 0)
        {
            WebClient wc = new WebClient();
            wc.DownloadFile("http://www.exaple.com/exaplefile", saveFileDialog1.FileName);;
        }

Upvotes: -1

Manoj Nayak
Manoj Nayak

Reputation: 2509

The file is saved into the server initially with this code

string getnote = txtdisplay.Text.Trim();
        String filepath = Server.MapPath(@"img\new1.txt");
        System.IO.FileStream ab = new System.IO.FileStream(filepath, System.IO.FileMode.Create);
        System.IO.StreamWriter Write101 = new System.IO.StreamWriter(ab);
        Write101.WriteLine(getnote);
        Write101.Close();
        Response.ClearContent();

From the server get the file as attachment.Use the following code for save as dialog box for downloading or saving the file. The file will save by default in the download folder. To save to the specified location change the browser settings.

Response.ContentType = "text";
        Response.AppendHeader("Content-Disposition", "attachment; filename=new1.txt");
        Response.TransmitFile(Server.MapPath("~/img/new1.txt"));
        Response.End();

Upvotes: 2

John Saunders
John Saunders

Reputation: 161773

There is no Save As dialog in ASP.NET.

Remember, your ASP.NET application is running in a browser on a user's computer. You have no access to the user's file system, including the Save As dialog.

However, if you send the user a file, as an attachment, most browsers will display a dialog asking the user whether to save the file or open it. Maybe the user will choose to save it. That's what the example from phoenix does.

Upvotes: 1

tvanfosson
tvanfosson

Reputation: 532445

You could use a LinkButton (or regular link) and have the url point to a handler (ASHX) that retrieves the data and sends back a response with content disposition set to attachment. Write the data to the response. You'll also need to set up some other headers in the response -- such as content type and length. This would give the document (file) a regular link that could perhaps be bookmarked (if a regular link) in the future so that it can be retrieved again. You'd need to pass enough data in the query string to be able to identify which data is to be downloaded.

Upvotes: 0

rahul
rahul

Reputation: 187020

Response.ContentType = "application/octet-stream" (or content type of your file).
Response.AppendHeader("content-disposition", "attachment;filename=" & strFileName)

Upvotes: 1

Related Questions