我需要将图像上传到NodeJS服务器到某个目录.我正在使用connect-busboy节点模块.
我dataURL使用以下代码将我转换为blob的图像:
dataURLToBlob: function(dataURL) {
var BASE64_MARKER = ';base64,';
if (dataURL.indexOf(BASE64_MARKER) == -1) {
var parts = dataURL.split(',');
var contentType = parts[0].split(':')[1];
var raw = decodeURIComponent(parts[1]);
return new Blob([raw], {type: contentType});
}
var parts = dataURL.split(BASE64_MARKER);
var contentType = parts[0].split(':')[1];
var raw = window.atob(parts[1]);
var rawLength = raw.length;
var uInt8Array = new Uint8Array(rawLength);
for (var i = 0; i < rawLength; ++i) {
uInt8Array[i] = raw.charCodeAt(i);
}
return new Blob([uInt8Array], {type: contentType});
}
Run Code Online (Sandbox Code Playgroud)
我需要一种方法将blob转换为文件以上传图像.
有人可以帮我吗?
我的视图中有两段代码:
<%= sanitize('<h3>winter</h3>') %>
<%= '<h3>winter</h3>'.html_safe %>
Run Code Online (Sandbox Code Playgroud)
它们似乎都导致在提供的字符串中编码html标签.它们之间有什么区别,我应该何时使用?
我正在尝试使用本教程将我的Sinatra应用程序连接到PostgreSQL数据库:http://samuelstern.wordpress.com/2012/11/28/making-a-simple-database-driven-website-with-sinatra-and-heroku /.一切顺利,直到我尝试执行:
rake:db migrate
Run Code Online (Sandbox Code Playgroud)
然后我收到这个错误:
rake aborted!
PG::ConnectionBad: fe_sendauth: no password supplied
Run Code Online (Sandbox Code Playgroud)
好像我应该在pg_hba.conf文件中更改我的权限,但是,打开它,我什么也看不见.并且,如果我尝试在其中写入内容,它会说它是" 只读 ".
我是否正确摆脱错误以及下一步该走向何方?
编辑:实际上,如果我尝试从另一个文本编辑器打开它,它说我没有权限.
Rails中的Railties以active或action开头命名:
活动和动作之间有什么区别,这些词与组件的内容或功能有什么关系?
我正在尝试使用Watir webdriver将应用程序部署到Heroku.它在本地成功运行.根据这个问题的答案:你能在Heroku上部署Watir来生成HTML快照吗?如果是这样,怎么样?, 你能行的.我按照这个答案的步骤/sf/answers/1488716351/.我的app.rb看起来像这样:
require "sinatra"
require "rubygems"
require "shotgun"
require "rake"
require "watir"
get '/sending_out' do
browser = Watir::Browser.new :phantomjs
erb :index
end
Run Code Online (Sandbox Code Playgroud)
但是当使用这些日志部署到Heroku时它会崩溃:
2014-10-24T13:01:10.620468+00:00 app[web.1]: /app/vendor/bundle/ruby/2.1.0/gems/selenium-webdriver-2.43.0/lib/selenium/webdriver/firefox/launcher.rb:32:in `launch'
2014-10-24T13:01:10.620465+00:00 app[web.1]: /app/vendor/bundle/ruby/2.1.0/gems/selenium-webdriver-2.43.0/lib/selenium/webdriver/firefox/launcher.rb:35:in `block in launch'
2014-10-24T13:01:10.620480+00:00 app[web.1]: credits.rb:44:in `rencredit'
2014-10-24T13:01:10.620496+00:00 app[web.1]: /app/vendor/bundle/ruby/2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1004:in `process_route'
2014-10-24T13:01:10.620510+00:00 app[web.1]: /app/vendor/bundle/ruby/2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `block in invoke'
2014-10-24T13:01:10.620534+00:00 app[web.1]: /app/vendor/bundle/ruby/2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:217:in `call'
2014-10-24T13:01:10.620590+00:00 app[web.1]: /app/vendor/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:138:in `service'
2014-10-24T13:01:10.620460+00:00 app[web.1]: /app/vendor/bundle/ruby/2.1.0/gems/selenium-webdriver-2.43.0/lib/selenium/webdriver/firefox/binary.rb:60:in `execute'
2014-10-24T13:01:10.620475+00:00 app[web.1]: /app/vendor/bundle/ruby/2.1.0/gems/watir-webdriver-0.6.11/lib/watir-webdriver/browser.rb:46:in `initialize'
2014-10-24T13:01:10.620491+00:00 app[web.1]: /app/vendor/bundle/ruby/2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:966:in `block (2 levels) in route!'
2014-10-24T13:01:10.620506+00:00 app[web.1]: /app/vendor/bundle/ruby/2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `invoke' …Run Code Online (Sandbox Code Playgroud) 我一直在尝试正确使用colgroup和col标签,但我没有得到它.我阅读了规范和所有这些,但我不明白它的目的或如何实现它.
有什么建议?
我正在尝试更改导航栏中的字体颜色。我使用引导程序和我自己的样式表。我希望我的字体是红色的,所以我试图在!important的帮助下覆盖所有其他规则(其他事情也失败了)。但颜色保持灰色。这些是 chrome 开发人员工具对我的元素的计算值:
!important怎么可能被类选择器的样式覆盖以及如何使我的字体变红?
(答案是 !important 仅覆盖您应用它的同一元素上的样式。它不会使元素的后代继承它) - 来自评论。
在SSHkit-Github上它说:
所有后端都支持执行(*args),test(*args)和capture(*args)
从SSHkit-Rubydoc,我理解execute实际上是一个别名test吗?
是什么区别test,execute,capture在Capistrano酒店/SSHKit以及何时应该使用要么?
我有:HTML 字符串数组,例如["<h1>Hi", "</h1>"]。
我想放在<MyReactComponent/>它们之间
(从而实现在 jsx 中的布局:
<h1>Hi<MyReactComponent/></h1>)。
我如何实现这一目标?
我试过了:
Babel.transform('<h1>Hi<MyReactComponent/></h1>')(使用独立的 Babel)。它确实有效,但需要我进行字符串化<MyReactComponent/>,这并不优雅,并且可能有一天会中断。
使用常规 jsx render() => <MyReactComponent/>,然后componentDidMount通过操作 DOM来添加 HTML,但浏览器会自动插入结束标记,所以我会得到<h1>Hi</h1><MyReactComponent/><h1></h1>
使用jsx-to-html库和innerHTML,转换<MyReactComponent/>为 HTML 字符串,将其与 组合<h1>Hi</h1>,但它会破坏与<MyReactComponent/>.
我的应用程序有一个页面,用户必须在该页面上相对实时地查看如何处理2个步骤.
现在这是通过ajax短轮询完成的.我想把它改成一些服务器重量较少的技术,我选择Faye gem和ajax long-polling.
Ajax长轮询更容易实现,不需要任何服务器入侵.它将需要4个ajax请求(用于完成2个步骤的页面).
Faye gem将发送3个请求,这并不是很少.它需要我设置我的nginx-passenger服务器,并且更难以实现和支持.
我会选择ajax长轮询,但我听说它需要一个完整的Rails实例运行,而请求是长轮询的,这将耗尽我的RAM.另一方面,从这个如何生产的rails服务器工作?我知道Rails在长轮询中可能没有这个问题.那么,这是真的, - 来自多个客户端的ajax长轮询需要许多并发应用程序处理(这可能会占用我的一些资源,不确定哪些)?
html ×2
javascript ×2
ruby ×2
sinatra ×2
babeljs ×1
blob ×1
capistrano ×1
col ×1
colgroup ×1
css ×1
difference ×1
faye ×1
file-upload ×1
heroku ×1
html-safe ×1
html-table ×1
html5 ×1
jsx ×1
long-polling ×1
naming ×1
node.js ×1
passenger ×1
phantomjs ×1
postgresql ×1
reactjs ×1
sanitize ×1
sshkit ×1
watir ×1
websocket ×1