Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > Pushing a file to the user..

Reply
Thread Tools

Pushing a file to the user..

 
 
=?Utf-8?B?UmF2aSBK?=
Guest
Posts: n/a
 
      03-02-2005
Hello,
I need to write an asp.net page that pushes a files to the user for download.
The code I wrote works just fine, in that it sends a file to the user. But
the HTML controls on the page are not updated..

private void Button1_Click(object sender, System.EventArgs e)
{
//part 1
TextBox3.Text = TextBox1.Text + " " + TextBox2.Text;
TextBox1.Visible = TextBox2.Visible = TextBox3.Visible = false;
TextBox1.Visible = TextBox2.Visible = TextBox3.Visible = true;
Label1.Text = "Thank you for choosing this program.";

//part 2
System.IO.FileInfo info = new
System.IO.FileInfo(System.Web.HttpContext.Current. Server.MapPath(".") + "\\"
+ "txt.txt");
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ContentType = "";
HttpContext.Current.Response.AppendHeader("Content-Disposition:","
attachment; filename=txt.txt");
HttpContext.Current.Response.AppendHeader("Contect-Length", "100");
HttpContext.Current.Response.Charset="UTF-8";
HttpContext.Current.Response.WriteFile("txt.txt");
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.Close();
}
The second part of the code above, the Response object sends the file down
to the user, but the first part of code does not work. Is there a way to get
both to work?

Thanks in advance,

 
Reply With Quote
 
 
 
 
qwerty
Guest
Posts: n/a
 
      03-02-2005
Try switch part 1 and part 2 around


On Tue, 1 Mar 2005 19:53:02 -0800, Ravi J
<> wrote:

>Hello,
>I need to write an asp.net page that pushes a files to the user for download.
>The code I wrote works just fine, in that it sends a file to the user. But
>the HTML controls on the page are not updated..
>
>private void Button1_Click(object sender, System.EventArgs e)
>{
>//part 1
>TextBox3.Text = TextBox1.Text + " " + TextBox2.Text;
>TextBox1.Visible = TextBox2.Visible = TextBox3.Visible = false;
>TextBox1.Visible = TextBox2.Visible = TextBox3.Visible = true;
>Label1.Text = "Thank you for choosing this program.";
>
>//part 2
>System.IO.FileInfo info = new
>System.IO.FileInfo(System.Web.HttpContext.Current .Server.MapPath(".") + "\\"
>+ "txt.txt");
>HttpContext.Current.Response.ClearHeaders();
>HttpContext.Current.Response.ClearContent();
>HttpContext.Current.Response.ContentType = "";
>HttpContext.Current.Response.AppendHeader("Conten t-Disposition:","
>attachment; filename=txt.txt");
>HttpContext.Current.Response.AppendHeader("Contec t-Length", "100");
>HttpContext.Current.Response.Charset="UTF-8";
>HttpContext.Current.Response.WriteFile("txt.txt") ;
>HttpContext.Current.Response.Flush();
>HttpContext.Current.Response.Close();
>}
>The second part of the code above, the Response object sends the file down
>to the user, but the first part of code does not work. Is there a way to get
>both to work?
>
>Thanks in advance,


 
Reply With Quote
 
 
 
 
William F. Robertson, Jr.
Guest
Posts: n/a
 
      03-02-2005
There is no way for this to happen. A webrequest can only consist of one
type. Either an image, excel file, or a webpage. part 1 is setting up the
controls with certain values. Then you are clearing the response and
sending the content type "", which I believe trusts the user's machine to
decide what it is. (text file)

The page changes you made in part one are never rendered to the browser.
Also you probably should use Response.End() at the end of the direct file
sending.

IOW what you want to do is not possible with Html. My suggestion, if you
want to do this, is to send part 1 back to the user, have some script that
immediately submits the page, and that postback, you send the information in
part 2. It involves an extra request, but many sites use this
functionality.

HTH,

bill


"Ravi J" <> wrote in message
news:5AEE429D-1F4D-47D1-815A-...
> Hello,
> I need to write an asp.net page that pushes a files to the user for

download.
> The code I wrote works just fine, in that it sends a file to the user. But
> the HTML controls on the page are not updated..
>
> private void Button1_Click(object sender, System.EventArgs e)
> {
> //part 1
> TextBox3.Text = TextBox1.Text + " " + TextBox2.Text;
> TextBox1.Visible = TextBox2.Visible = TextBox3.Visible = false;
> TextBox1.Visible = TextBox2.Visible = TextBox3.Visible = true;
> Label1.Text = "Thank you for choosing this program.";
>
> //part 2
> System.IO.FileInfo info = new
> System.IO.FileInfo(System.Web.HttpContext.Current. Server.MapPath(".") +

"\\"
> + "txt.txt");
> HttpContext.Current.Response.ClearHeaders();
> HttpContext.Current.Response.ClearContent();
> HttpContext.Current.Response.ContentType = "";
> HttpContext.Current.Response.AppendHeader("Content-Disposition:","
> attachment; filename=txt.txt");
> HttpContext.Current.Response.AppendHeader("Contect-Length", "100");
> HttpContext.Current.Response.Charset="UTF-8";
> HttpContext.Current.Response.WriteFile("txt.txt");
> HttpContext.Current.Response.Flush();
> HttpContext.Current.Response.Close();
> }
> The second part of the code above, the Response object sends the file down
> to the user, but the first part of code does not work. Is there a way to

get
> both to work?
>
> Thanks in advance,
>



 
Reply With Quote
 
=?Utf-8?B?UmF2aSBK?=
Guest
Posts: n/a
 
      03-03-2005
Thanks Bill for the response,
I tried to shuffle part one and part two of the code, but it did not work.
Is it possible to use javascript to do this?
What other possible avanues exist for this problem?
Once the user clicks a button, I would like the controls refreshed, and file
sent to the user.
What other workaround methods exist?

Thanks in advance, for any hint or clue
-Ravi
 
Reply With Quote
 
William F. Robertson, Jr.
Guest
Posts: n/a
 
      03-03-2005
Shuffling the parts on the page will not work. Either you can send the
file, or an updated UI, but only one at a time.

You will have to write out the updated UI in the first postback. The
updated UI will have to write out some javascript code that will postback,
immediately, and on this second postback, you can send the file to them.

bill


"Ravi J" <> wrote in message
news:C0481BB4-2AF6-44A4-B417-...
> Thanks Bill for the response,
> I tried to shuffle part one and part two of the code, but it did not work.
> Is it possible to use javascript to do this?
> What other possible avanues exist for this problem?
> Once the user clicks a button, I would like the controls refreshed, and

file
> sent to the user.
> What other workaround methods exist?
>
> Thanks in advance, for any hint or clue
> -Ravi



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Pushing multiple xml through a xsl file to generate a single htmlpage graham.reeds XML 9 02-04-2008 08:59 AM
Re: Pushing file name to browser Hakan Nilsson Python 2 03-07-2004 11:00 PM
Pushing file name to browser pxlpluker Python 1 03-06-2004 04:56 PM
Pushing file name to browser pxlpluker Python 0 03-05-2004 02:44 PM
Using response.addheader for pushing file Bertrand ASP General 0 11-11-2003 08:17 AM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57