代码之家  ›  专栏  ›  技术社区  ›  tipu

php的tmp_名称在ror中等效

  •  0
  • tipu  · 技术社区  · 15 年前

    用php上传文件会得到一个映射。其中一个键tmp_name允许用户在不移动文件的情况下操作该文件。我想为RubyonRails做同样的事情。

    我有一个接受.csv文件的表单。通过这个,我正在尝试填充一个数据库。但是,仅使用表单中的文件字段,我会得到一种类型的actionController::uploadedFile,它不允许我对其执行csv.open或迭代。那么,我如何访问上传的文件而不将其移动到我的项目中,然后对其进行迭代呢?谢谢。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Simone Carletti    15 年前

    方法 ActionController::UploadedFile#path 应返回服务器上tmp文件的路径。你也有一个方便 #read 返回文件内容的方法。

    file_param = params[:upload][:file]
    filename = file_param.original_filename
    filename = file_param.path
    filedata = file_param.read
    
    CSV.open(file_param.path, "r") { ... }