小编ada*_*elm的帖子

如何将表格中的大文件上传到凤凰城?

我有一个带有文件字段的HTML表单,用于将文件上传到/file我的Phoenix应用程序中的路由.

我从命令行模仿这种行为,curl -v -F "file=@MyTestFile" http://localhost:4000/file/以便更快地进行测试.

当我使用一个大文件(转折点似乎约为7.7MB)时,我从Plug获得以下异常:

18:40:38.897 [错误]错误在过程<0.420.0>与退出值:{[{原因,#{ ' 例外 '=>真,' 结构 '=>' Elixir.Plug.Parsers.RequestTooLargeError',消息=>零}},{MFA,{ 'Elixir.Plug.Adapters.Cowboy.Handler',INIT,3}},{堆栈跟踪,[{ 'Elixir.Plug.Parsers',减少,如图6所示,[{文件," LIB /插......

是否有解决方法允许上传更大的文件?

:length在Plug中似乎有一个选项关键字,但我怎么能从凤凰城设置它?这个特殊价值8_000_000被选中的原因是什么?

elixir phoenix-framework

10
推荐指数
1
解决办法
3088
查看次数

如何限制凤凰​​城某些路线的访问?

我有一个小凤凰应用程序,允许用户登录并查阅他们的个人资料.我使用了以下简单路线:

resources "/users", MyApp.UserController
Run Code Online (Sandbox Code Playgroud)

但这允许每个用户通过:index操作查看用户列表,以及删除或更新任何用户.

限制访问管理员的最简单方法是什么?我应该在每个动作前加一张支票吗?或者我应该创建一个"/admin"可以处理这些操作的资源?推荐的方式是什么?

elixir phoenix-framework

9
推荐指数
1
解决办法
3853
查看次数

从clang匹配回调中获取方法调用的参数

我适应锵工具模板(如描述这里)来搜索我的代码的特定方法调用.为了稍后重写该调用,我想获得调用该方法的参数类型,以及调用该方法的对象的类型.

我设法找到一个回调以下内容的匹配器:

class AddListenerPrinter : public MatchFinder::MatchCallback
{
  public :
  virtual void run(const MatchFinder::MatchResult &Result) {
    if (const auto *FS = Result.Nodes.getNodeAs<clang::MemberExpr>("ListeningBound"))
    {
      FS->dump();
    }
  }
};
Run Code Online (Sandbox Code Playgroud)

打印出:

MemberExpr 0x7fb05b07b948 '<bound member function type>' .addListener 0x7fb05b077670
`-MemberExpr 0x7fb05b07b918 'class MyCore' lvalue ->mCore 0x7fb05b078e30
  `-CXXThisExpr 0x7fb05b07b900 'class MyComponent *' this
Run Code Online (Sandbox Code Playgroud)

现在我找不到任何方法来检索方法被调用的对象的类型(这里class MyCore)或方法参数的类型(这里class MyComponent).

我怎样才能做到这一点?

llvm clang

5
推荐指数
1
解决办法
1024
查看次数

标签 统计

elixir ×2

phoenix-framework ×2

clang ×1

llvm ×1