博士转换器的API以curl格式提到,如下所示
curl \
http://c.docverter.com/convert \
-F from=html \
-F to=pdf \
-F input_files[]=@<(echo hello)API声明input_files[]值应该是multipart/form-data file上载,但是在我的AngularJS应用程序中,我动态地生成一个报告(在特定的路径上),这意味着它不是一个可以使用文件上传控件上传的html文件。
我的问题可能有点模糊,因为通过查看博士转换器API,我无法知道客户机上的代码和服务器上的代码。
总的来说,我正在寻找一个解决方案,将生成的HTML (连同样式表)转换为PDF文件,然后将这个PDF文件下载到浏览器中。
在服务器端,我使用的是Node.js。感谢您能够清楚地说明这种转换是如何发生的。
发布于 2016-04-26 18:51:26
好的,这是服务器端的修复,以便用docverter解决cors问题。
实际上,启动和运行它的代码非常少。
这些变化发生在lib/docverter-server/app.rb中。
class DocverterServer::App < Sinatra::Base
# added code starts here ==>
before do
headers 'Access-Control-Allow-Origin' => '*',
'Access-Control-Allow-Methods' => ['OPTIONS', 'GET', 'POST'] ,
'Access-Control-Allow-Headers' => 'Content-Type',
'Content-Disposition' => 'attachment',
'Content-Type' => 'application/octet-stream'
end
# <=== added ends starts here
set :show_exceptions, false修复错误,使它们不只是显示cors冲突
[500, {'Content-Type' => 'application/json', 'Access-Control-Allow-Origin' => '*'}, [MultiJson.dump(hash)]]
在lib/docverter-server/error-handler.rb中
至于角度客户端的=>,我用我自己的堆栈问题解决了这里的文档:
https://stackoverflow.com/questions/33968401
复制相似问题