I have an action class that generates a PDF. The contentType
is set appropriately.
I call this action
through an Ajax call. I don't know the way to deliver this stream to browser. I tried a few things but nothing worked.
- JQuery:Sending pdf to server via ajax [duplicate]. Browse other questions tagged javascript jquery ajax pdf or ask your own. Convert HTML + CSS to PDF with PHP?
- AJAX is an acronym standing for Asynchronous JavaScript and XML and this technology help us to load data from the server without a browser page refresh. If you are new with AJAX, I would recommend you go through our Ajax Tutorial before proceeding.
This feature is not available right now. Please try again later.
The above gives the error:
Your browser sent a request that this server could not understand.
Mike B.15 Answers
You don't necessarily need Ajax for this. Just an <a>
link is enough if you set the content-disposition
to attachment
in the server side code. This way the parent page will just stay open, if that was your major concern (why would you unnecessarily have chosen Ajax for this otherwise?). Besides, there is no way to handle this nicely acynchronously. PDF is not character data. It's binary data. You can't do stuff like $(element).load()
. You want to use completely new request for this. For that <a href='pdfservlet/filename.pdf'>pdf</a>
is perfectly suitable.
To assist you more with the server side code, you'll need to tell more about the language used and post an excerpt of the code attempts.
BalusCBalusCHere is how I got this working
Updated answer using download.js
Mayur PadshalaMayur PadshalaI don't really think that any of the past answers spotted out the problem of the original poster. They all presume a GET request while the poster was trying to POST data and get a download in response.
In the course of searching for any better answer we found this jQuery Plugin for Requesting Ajax-like File Downloads.
In its 'heart' it creates a 'temporary' HTML form containing the given data as input fields. This form is appended to the document and posted to the desired URL. Right after that the form is removed again:
Update Mayur's answer looks pretty promising and very simple in comparison to the jQuery plug-in I referred to.
chiccodorochiccodoroW3schools Php Tutorial Pdf
This is how i solve this issue.
The answer of Jonathan Amend on this post helped me a lot.
The example below is simplified.
For more details, the above source code is able to download a file using a JQuery Ajax request (GET, POST, PUT etc). It, also, helps to upload parameters as JSON and to change the content type to application/json (my default).
The html source:
A simple form with two input text, one select and a button element.
The javascript page source: Hp recovery cd creator download.
A simple event on button click. It creates an AjaxDownloadFile object. The AjaxDownloadFile class source is below.
The AjaxDownloadFile class source:
I created this class to added to my JS library. It is reusable. Hope that helps.
What worked for me is the following code, as the server function is retrieving File(memoryStream.GetBuffer(), 'application/pdf', 'fileName.pdf');:
You could use this plugin which creates a form, and submits it, then removes it from the page.
This worked for me. Found this plugin here
George SiggouroglouTo fix the blank PDF issue in post request to get stream data like PDF, we need to add response type as 'arraybuffer' or 'blob' in request
create a hidden iframe, then in your ajax code above:
url:document.getElementById('myiframeid').src = your_server_side_url
,
and remove the window.open(response);
This snippet is for angular js users which will face the same problem, Note that the response file is downloaded using a programmed click event.In this case , the headers were sent by server containing filename and content/type.
Jquery Ajax Examples
Do you have to do it with Ajax? Coouldn't it be a possibility to load it in an iframe?
Emil VikströmEmil VikströmConcerning the answer given by Mayur Padshala this is the correct logic to download a pdf file via ajax but as others report in the comments this solution is indeed downloads a blank pdf.
The reason for this is explained in the accepted answer of this question: jQuery has some issues loading binary data using AJAX requests, as it does not yet implement some HTML5 XHR v2 capabilities, see this enhancement request and this discussion.
So using HTMLHTTPRequest
the code should look like this:
Hope this will save you a few hours and spare you from a headache.It took me a while to figure this out, but doing regular $.ajax() request ruined my PDF file, while requesting it through address bar worked perfectly.Solution was this:
Include download.js: http://danml.com/download.html
Then use XMLHttpRequest instead of $.ajax() request.
Jurijs KastanovsJurijs KastanovsIf you have to work with file-stream (so no physically saved PDF) like we do and you want to download the PDF without page-reload, the following function works for us:
HTML
Javascript
Due to the target='pdf-download-output', the response is written into the iframe and therefore no page reload is executed, but the pdf-response-stream is output in the browser as a download.
Not the answer you're looking for? Browse other questions tagged javascriptjavajquerypdf or ask your own question.
This question already has an answer here:
- How can I upload files asynchronously? 33 answers
I want to send a pdf file to server using ajax.But I couldn't find any examples or codes for
this problem.How can i get the solution?Please help me
asnaasnamarked as duplicate by mithunsatheesh, hexacyanide, Pragnesh Chauhan, Ray Nicholus, Danubian SailorOct 25 '13 at 6:39
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
2 Answers
There is good tutorial http://www.phpletter.com/DOWNLOAD/
Home » HP DeskJet 722C Use the links on this page to download the latest version of HP DeskJet 722C drivers. All drivers available for download have been scanned by antivirus program. The Driver Update Tool – is a utility that contains more than 27 million official drivers for all hardware, including hp deskjet 722c driver. When Vista was inroduced, my driver for HP Deskjet 722c stopped working. I searched for drivers and could found drivers for every HP printer except the Deskjet 722c. Hp deskjet 722c driver for windows xp. Update the HP Deskjet 722c Printers Drivers For Windows XP with ease. Easy Driver Pro makes getting the Official HP Deskjet 722c Printers Drivers For Windows XP a snap. Easy Driver Pro will scan your computer for missing, corrupt, and outdated Drivers. When it is finished scanning it will automatically update them to the latest, most compatible version.
read and understand it will help you.
Anyways not my code but seems good way.
Hp nc375i driver windows 2003 x64 product. Hp Nc375i Integrated Quad Port Multifunction Gigabit Server Adapter now has a special edition for these Windows versions: Windows 7, Windows 7 64 bit, Windows 7 32 bit, Windows 10, Windows 10 64 bit,, Windows 10 32 bit, Windows 8, Windows 10 Team 64bit, Windows 7 Home Basic 32bit, Windows 10 Pro Education 64bit, Windows Vista Enterprise (Microsoft Windows NT 6.0.6000.0) 64bit, Windows RT 64bit, Windows 7 Professional 64bit, Windows Vista Home Basic 64bit, Windows 10 Enterprise LTSB 32bit, Windows 10 Pro 64bit. Driver Model OS Original Upload Date Last Modification Driver File File Size Compatible Computer Models Availabilty To Instalation Manager Hp Nc375i Integrated Quad Port Multifunction Gigabit Server Adapter 2.183 For Windows 7 32 bit 1/4/2015 iw-2.183.exe 196kb HP PS384AA-B1U d1291.se, Toshiba Dynabook T351/46CWD, SAMSUN 400B4Z/S01TH, HP WE166AA-ABU p6319uk, Lenovo 7665VEH, HP HP Compaq 6710b, Toshiba SATELLITE L850-130, Lenovo 23061G2, and more. Hp Nc375i Integrated Quad Port Multifunction Gigabit Server Adapter 23331.1 For Windows 7 64 bit 3/4/2015 all_drivers-23331.1.exe 92kb Acer Aspire 9110, Systemax Charity PC 2010, IBM IBM System x3400 M3 Server -[7379AC1, HP Presario 2500, HP HP Compaq nc6320, Acer Veriton S680G, HP KJ415AA-AB4 m9290d, Everex Everex StepNote SR Series, Packard Bell IXtreme J8038, and more.
Deepak KumarDeepak KumarYou can use the javascript FormData() object to do this now. I believe it works in everything except IE9 and below.
Php Tutorial Pdf Download
And the javascript.
Charlie MartinCharlie Martin