我正在尝试生成一个包含HTML内容的PDF文件,该文件是通过AJAX从JavaScript发送的。
我已经正确地发送了HTML,并正确地使用HTML生成了PDF,但是我仍然想弄清楚如何在用户的浏览器上启动文件下载。
这就是我目前正在尝试的。当直接访问文件的URL时,这在IHttpHandler文件中工作,但在通过AJAX发布时在ApiController中不起作用。
我还尝试将同样的结果发布到IHttpHandler文件中。在我尝试使用BinaryWrite启动下载之前,一切都很好。
public class DownloadScheduleController : ApiController
目前,我正在为FastAPI和文件服务而挣扎。
在我的项目中,我有以下工作流。客户端发送包含必要有效负载的有效负载,以便从第三方提供程序下载文件。
我需要向后端发送一个有效负载,这是必要的,而且由于创建了一个资源(下载的文件),我假设POST将是这个端点的方法,但让我给您展示一个示例。
from fastapi import FastAPI, Form
from fastapi.responses import FileResponse
import os
app = FastAPI()
@app.post("/download_file")
async def do
我的问题是,我发送到客户端的第一个PDF下载,然后我需要检查,如果一些数据存在于我的数据库中,然后根据检查,我需要显示的问题,如果用户想下载另一个PDF,我生成。
我的代码:
//Here I just make dialog for question
$('#printDWInfo').dialog({
resizable: false,
modal: true,
autoOpen: false
});
//Here is my problem :)
$('#generu
在我的应用程序中,在客户端创建了一个json对象。这个对象被发布到一个HttpServlet,它创建了一个基于POST数据的pdf文件。
该文件被发送回用户。调用succes函数,并记录流数据。但是,我希望下载该文件。
如何做到这一点?
我的客户端代码:
$(document).ready(function() {
// when the print button is clicked
$('#exportButton').click(function() {
var tableIdx = performanceDetailTableController.getTab
我试图通过ajax POST从iframe向php发送HTML结构,但$_POST总是空的。
Ajax
function makePDF(){
var f = $('#iframe1');
var data = f.contents().find('body').html();
var html = escape(data);
alert(html);
$.ajax({
type: "POST",
url: "pdf.
因此,我将解释这个问题:
步骤:
1)客户端(浏览器javascript)向服务器发送Ajax请求,该请求命中名为download的控制器方法。
2)控制器的方法创建一个PDF资源(不保存在文件系统上),并将带有PDF二进制流的响应返回给客户端。
3)客户端接收PDF二进制流并将其下载到客户端计算机上。这有可能吗?
代码:我已经尝试过的东西-
客户端:
<script>
(function($) {
var button; // some random DOM button
button.on('click', funct
我有以下返回PDF的操作:
[HttpPost]
public string GetPDF(string data, float scaleFactor)
{
var result = JArray.Parse(data);
using (var fs = new FileStream(@"c:\pdf\pdftest.pdf", FileMode.Create))
{
MemoryStream ms = (MemoryStream)PdfMaker.CreatePDF(scaleFacto
我在我的系统上保存了一个.PDF文件,我试图使用节点/快递将该文件发送到前端。
我正在将文件作为流(二进制字符串)发送到前端,但是当在前端运行一些代码以使.PDF下载到用户计算机上时,.PDF文件将显示为空白。
以下是我在服务器上的路由:
app.post('/someroute', (req, res) => {
let pdfPath = './somepath/where/the/pdf/is'
// if the file does not exist
if (!fs.existsSync(pdfPath)) {
console
我张贴html内容到服务器端,并将其转换为PDF和流文件回来。但我无法使用以下命令下载该文件:
var formData = new FormData();
formData.append("htmlContent", strHTML);
var request = new XMLHttpRequest();
request.open("POST", "RenderHtmlAsPDF.jsp");
request.send(formData);
当我创建一个动态表单并将针对它的html内容发布到iframe时,Download就起作用了。但我受到
嗨,我有一个jquery接收表单的操作。一旦表单中的数据,我就可以成功地调用laporan_per_bulan.php文件,该文件包含从ajax提取数据的代码,并根据数据打印报表。
然而,报告没有出现吗?我想要一个报告出现在一个新的标签,如谷歌Chrome,或直接下载作为其他浏览器,当ajax调用成功。
这是我的ajax:
$('#save_report').click(function(e){
ajax_cetak_laporan();
});
function ajax_cetak_laporan() {
var bulan = $("#bulan
我想问一下,如果已经发送了退货,是否有人知道如何重定向用户。
在我的例子中,我尝试完成以下工作。生成pdf并由浏览器将其作为下载发送。但在发送之后,我仍然希望重定向,因为数据库记录将在此过程中更新。
我在控制器中的代码如下:
session::flash('informationmessage', 'The labour entries were billed');
return $pdf->download();
redirect('admin/customers');
感谢您的帮助,干杯