我需要编写一个应用程序,允许用户上传大型视频.Afaik,PHP将整个上传的文件存储到内存中(至少每个默认值),因此您会遇到大文件的问题.有Rails类似的问题?我需要接收最大2 GB的文件.
我的设置将是:
除非你推荐别的东西,否则我会试试Paperclip.
此致,约翰内斯
这有点类似于这个问题,但我希望捕获多个异常并处理它们.在Ruby中,我可以写
begin
rand(2) == 0 ? ([] + '') : (foo)
rescue TypeError, NameError => e
puts "oops: #{e.message}"
end
Run Code Online (Sandbox Code Playgroud)
我可以在Clojure中做同样的事吗?现在我let是一个功能,只需在每个catch身体中调用它.
我写了一个类方法,它调用同一个类的其他类方法.
class Statistic
def self.do_something
#...
end
def self.update_statistic
Statistic.do_something
end
end
Run Code Online (Sandbox Code Playgroud)
我如何测试,update_statistic调用do_something?
我使用Rails 3和rspec 2.
问这个问题我觉得有点愚蠢,但是通过当前的 PHP SDK 上传一些东西到 S3 有什么特殊要求吗?我可以使用相同的凭据通过 cli 上传,但是当我尝试 SDK 时它失败了。
这里的代码:
<?php
require "awssdk_v3/aws-autoloader.php";
use Aws\S3\S3Client;
function s3_upload($file, $name) {
$s3 = S3Client::factory(
array(
'key' => getenv('AWS_ACCESS_KEY_ID'),
'secret' => getenv('AWS_SECRET_ACCESS_KEY'),
'version' => "2006-03-01",
'region' => getenv('AWS_REGION')
)
);
$result = $s3->putObject(
array(
'Bucket' => getenv('AWS_BUCKET'),
'Key' => $name,
'SourceFile' => $file,
'ContentType' => mime_content_type($file),
'ACL' => 'public-read'
)
);
return true;
}
Run Code Online (Sandbox Code Playgroud)
我这样称呼
s3_upload($_FILES['avatarfile']['tmp_name'], "avatar_2.jpg");
Run Code Online (Sandbox Code Playgroud)
我使用的用户附加了此策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1480066717000",
"Effect": "Allow",
"Action": [
"s3:DeleteObject",
"s3:GetObject", …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写集成测试测试,如果我的控制器为已删除的文章(仅标记为已删除)引发了ActiveRecord :: RecordNotFound执行:
it "should return 404 for deleted articles" do
@article = Factory :article, :status => "deleted"
expect { get edit_article_path(:id => @article.id) }.to raise_error(ActiveRecord::RecordNotFound)
end
Run Code Online (Sandbox Code Playgroud)
这些测试在控制器规范中工作正常,但在规范/请求内部我收到此错误:
expected ActiveRecord::RecordNotFound, got #<ActionController::RoutingError: No route matches {:action=>"edit", :controller=>"articles", :id=>595}>
Run Code Online (Sandbox Code Playgroud)
所以它正确查找我的路线(因为它知道控制器等),但仍然会引发错误.这是为什么?
谢谢,约翰内斯
我想将transformSVG 属性转换为 CSS transform。这里是:
<g transform="translate(11.225 164)"/>
Run Code Online (Sandbox Code Playgroud)
但是 CSS 要求我指定单位。要指定的正确单位是什么?因为它应该是一个图书馆,我不知道width,height或者viewport的<svg>。因此我无法计算px左右。