我需要自动减小某些用户上传的 pdf 的大小,以便可以通过电子邮件发送它们。
我有一个小 imagemagick oneliner 可以减少我的尺寸:
convert -density 120 -quality 10 -compress jpeg original.pdf output.pdf
Run Code Online (Sandbox Code Playgroud)
基本上以 jpg 格式导出 pdf 的每一页,更新密度和质量,并将页面重新打包到新的 PDF 中。
这工作得很好,除了使用这个命令有时文件最终会变大,我需要重新运行调整密度和质量以获得最小的大小,使 pdf 文档中的文本仍然可读。
我不确定如何自动化它。我想使用识别来获取文件的特征(高度宽度密度......)并执行诸如一半的数字或类似的操作。但我正在努力获取有关文件的信息。
有什么建议么?
谢谢,
我正在我的手机上测试我的应用程序(带有chrome的三星galaxy note II)我的数字输入字段有问题.
在我的应用程序中,这些字段可以接受负数,并且在浏览器上它很好,因为我有-按钮和箭头滑块(来自html5)来选择数字.
在手机上虽然没有渲染滑块,浏览器识别输入类型=数字,只是渲染一个简化的数字键盘,不包含-标志,所以我没有看到插入负数的方法我希望.
我的应用程序使用twitter bootstrap 2.3.2与jquery,我不知道如何解决这个问题.
这是我的一个输入字段的代码在我的计算机上正常工作,但无法在我的手机上正确使用它们:
<input class="input-mini" data-type="distance_price" id="distance" label="false" name="distance" step="0.1" type="number" max="-0.1">
Run Code Online (Sandbox Code Playgroud)
在图像中,您可以看到红色字段是如何被标记为错误的,因为它需要为负数,但我的键盘不允许我插入符号.包括-标志.任何线索?
尝试使用Capistrano 3.0.1进行部署时出现以下错误:
cap aborted!
Don't know how to build task 'starting'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/lib/capistrano/dsl/task_enhancements.rb:5:in `before'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-rails-1.1.0/lib/capistrano/tasks/assets.rake:9:in `block in <top (required)>'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-rails-1.1.0/lib/capistrano/tasks/assets.rake:8:in `<top (required)>'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-rails-1.1.0/lib/capistrano/rails/assets.rb:1:in `load'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-rails-1.1.0/lib/capistrano/rails/assets.rb:1:in `<top (required)>'
/Users/user/Documents/rails/shop/Capfile:18:in `require'
/Users/user/Documents/rails/shop/Capfile:18:in `<top (required)>'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/lib/capistrano/application.rb:22:in `load_rakefile'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/lib/capistrano/application.rb:12:in `run'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/bin/cap:3:in `<top (required)>'
/Users/user/.rvm/gems/ruby-2.0.0-p353/bin/cap:23:in `load'
/Users/user/.rvm/gems/ruby-2.0.0-p353/bin/cap:23:in `<main>'
/Users/user/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `eval'
/Users/user/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `<main>'
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)
当我取消注释需要行以加载资产并在Capfile中执行迁移时,这似乎已经开始了:
# Load DSL and Setup Up Stages
require 'capistrano/setup'
# Includes tasks from other gems included in your Gemfile
#
# require 'capistrano/rvm'
# require …Run Code Online (Sandbox Code Playgroud) ruby capistrano ruby-on-rails ruby-on-rails-3 asset-pipeline
我正在尝试使用react_on_railsreact和rails构建我的第一个示例.我正在尝试将一些数据保存到rails后端,使用axios for ajax.
这是我的代码:
import store from "../store/helloWorld";
import axios from "axios";
export const SAVE_NAME = "SAVE_NAME";
export function saveNameAction(name) {
return {
type: SAVE_NAME,
name
};
}
export function saveName(name) {
axios
.post("/hello_world", saveNameAction(name))
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error);
});
}
Run Code Online (Sandbox Code Playgroud)
和组件:
import PropTypes from "prop-types";
import React from "react";
import * as actions from "../actions/helloWorld";
export default class HelloWorld extends React.Component {
static propTypes = {
name: PropTypes.string.isRequired // this is passed from the …Run Code Online (Sandbox Code Playgroud) 我正在制作一个厨师食谱,在我的流浪盒上设置一个带有nginx postgresql和独角兽的香草ubuntu 12.04.2,但是我遇到了nginx的麻烦,有一个例外
undefined method `[]' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)
安装它时,似乎与ohai配置有关.
我发布了我在这里的所有内容:
https://github.com/DonGiulio/mychef
Run Code Online (Sandbox Code Playgroud)
这是chef-solo的输出:
Starting Chef Client, version 11.4.0
Compiling Cookbooks...
================================================================================
Recipe Compile Error in /var/chef/cookbooks/nginx/recipes/source.rb
================================================================================
NoMethodError
-------------
undefined method `[]' for nil:NilClass
Cookbook Trace:
---------------
/var/chef/cookbooks/nginx/recipes/ohai_plugin.rb:27:in `from_file'
/var/chef/cookbooks/nginx/recipes/source.rb:42:in `from_file'
Relevant File Content:
----------------------
/var/chef/cookbooks/nginx/recipes/ohai_plugin.rb:
20: #
21:
22: ohai 'reload_nginx' do
23: plugin 'nginx'
24: action :nothing
25: end
26:
27>> template "#{node['ohai']['plugin_path']}/nginx.rb" do
28: source 'plugins/nginx.rb.erb'
29: owner 'root'
30: group 'root'
31: mode '0755'
32: notifies :reload, …Run Code Online (Sandbox Code Playgroud) 我的服务器工作得很好,直到几个小时前,不知何故它停止接听电话,
我认为独角兽工作正常(curl localhost:3000 有效 - 其中 3000 是独角兽的端口)
我跑:
sudo netstat -anltp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 5664/mysqld
tcp 0 0 my.public.ip.address:80 0.0.0.0:* LISTEN 6825/nginx
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2737/sshd
tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 6389/unicorn.rb -E
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2934/master
tcp 0 0 my.public.ip.address:443 0.0.0.0:* LISTEN 6825/nginx
tcp 0 0 my.public.ip.address:22 a.different.ip.number:49372 ESTABLISHED 3433/sshd: user
tcp …Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中使用paperclip,但我的控制器测试因以下原因而失败:
BlogsControllerTest#test_should_update_blog:
Paperclip::AdapterRegistry::NoHandlerError: No handler found for "/images/original/missing.png"
/Users/user/.rvm/gems/ruby-2.1.2/gems/paperclip-3.5.2/lib/paperclip/io_adapters/registry.rb:19:in `handler_for'
/Users/user/.rvm/gems/ruby-2.1.2/gems/paperclip-3.5.2/lib/paperclip/io_adapters/registry.rb:29:in `for'
/Users/user/.rvm/gems/ruby-2.1.2/gems/paperclip-3.5.2/lib/paperclip/attachment.rb:96:in `assign'
Run Code Online (Sandbox Code Playgroud)
我不确定将missing.png图像放在我的代码中的哪个位置,我试过public/assets/original/missing.png但它似乎没有管理它.
还有一些奇怪的事情:我有一个paperclip.rb初始化线:
Paperclip::Attachment.default_options[:default_url] = "/images/default_image.png"
Run Code Online (Sandbox Code Playgroud)
但仍然是应用程序正在寻找 missing.png
更新:好的我认为在模型中覆盖了default_url:
has_attached_file :image, styles: { big: "1200X630>", thumb: "150X150" }, default_url: "/images/:style/missing.png"
Run Code Online (Sandbox Code Playgroud)
我仍然不知道在哪里放置图像.
UPDATE2:
整个回形针初始化程序:
Paperclip::Attachment.default_options[:styles] = { thumb: "100x100#", small: "200x200#", screen: "800x600#"}
Paperclip::Attachment.default_options[:default_url] = "/images/missing.png"
Paperclip::Attachment.default_options[:path] = ":rails_root/public/assets/:class/:attachment/:id_partition/:style/:hash.:extension"
Paperclip::Attachment.default_options[:url] = "/assets/:class/:attachment/:id_partition/:style/:hash.:extension"
Paperclip::Attachment.default_options[:hash_secret] = "XXXXXXXXXXXXXXXXX"
Paperclip.registered_attachments_styles_path = "public/assets/paperclip_attachments2.yml"
Run Code Online (Sandbox Code Playgroud)
UPDATE3:检查实际上升代码回形针代码,异常是由上升这段代码,这基本上是测试所有可用的适配器,看起来像最接近我想要做的是一个fileAdapter在此进行测试,如果传递的字符串是一个文件.
发现这一点我感到很惊讶,我可能会在这里遇到问题.如果我将初始化程序行交换为:
Paperclip::Attachment.default_options[:default_url] = File.new "public/images/missing.png"
Run Code Online (Sandbox Code Playgroud)
然后异常是不同的:
BlogsControllerTest#test_should_update_blog:
NoMethodError: undefined …Run Code Online (Sandbox Code Playgroud) 我正在尝试对我的控制器进行单元测试,每个使用该get请求的测试都能正常工作,但我使用其他调用的测试(delete在destroy中,post在create和put更新中)都失败了:
WARNING: Can't verify CSRF token authenticity
Completed 401 Unauthorized in 2.5ms
Run Code Online (Sandbox Code Playgroud)
例如,这是对破坏的测试:
test "should destroy blog" do
assert_difference('Blog.count', -1) do
delete :destroy, id: @blog
end
assert_redirected_to blogs_path
end
Run Code Online (Sandbox Code Playgroud)
这不起作用
这是show的测试,它起作用:
test "should show blog" do
get :show, id: @blog
assert_response :success
end
Run Code Online (Sandbox Code Playgroud)
在破坏测试中,设计authenticate_user!只是将我重定向到sign_in页面,测试失败.
我的网站完全是 SSL,所以我还希望由 devise (3.2.2) 生成用于电子邮件验证的网址https://....
目前,url 是通过以下方式生成的:
confirmation_url(@resource, :confirmation_token => @token)
Run Code Online (Sandbox Code Playgroud)
它会产生漂亮的网址,例如:
http://example.com/users/confirmation?confirmation_token=zqfHS35ckLQZscSbsgMm
Run Code Online (Sandbox Code Playgroud)
我希望网址是
https://example.com/users/confirmation?confirmation_token=zqfHS35ckLQZscSbsgMm
Run Code Online (Sandbox Code Playgroud)
另外,目前电子邮件验证不起作用,因为 nginx 会重定向到https每个页面的等效内容,并且由于某些原因,事情会变得混乱,并且https版本是损坏的网址,例如:
https://example.com/users/confirmation?confirmation_token=zqfHS35ckLQZscSbsgMm?confirmation_token=zqfHS35ckLQZscSbsgMm
Run Code Online (Sandbox Code Playgroud)
由于某些原因,nginx 会重定向到这个损坏的 url,因此 Unicorn 只能拒绝该请求。
有什么线索吗?
我正在尝试将我的应用程序升级rails 3.2.16到rails 4.1.0,当我尝试调用捆绑器时,我在开始时遇到麻烦:
Bundler could not find compatible versions for gem "sprockets":
In Gemfile:
sass-rails (>= 0) ruby depends on
sprockets (~> 2.0.0) ruby
rails (= 4.1.0) ruby depends on
sprockets-rails (~> 2.0) ruby depends on
sprockets (2.12.1)
Bundler could not find compatible versions for gem "sprockets-rails":
In Gemfile:
sass-rails (>= 0) ruby depends on
sprockets-rails (~> 2.0.0) ruby
rails (= 4.1.0) ruby depends on
sprockets-rails (2.1.3)
Bundler could not find compatible versions for gem "railties": …Run Code Online (Sandbox Code Playgroud) nginx ×3
csrf ×2
devise ×2
ruby ×2
ssl ×2
ajax ×1
android ×1
axios ×1
bundler ×1
capistrano ×1
chef-infra ×1
cookbook ×1
html5 ×1
http ×1
image ×1
imagemagick ×1
javascript ×1
ohai-gem ×1
paperclip ×1
pdf ×1
reactjs ×1
testing ×1
unicorn ×1
unit-testing ×1