我怎样才能获得文件的路径?

时间:2012-07-25 11:56:52

标签: html ruby

:image => StorageRoom::Image.new_with_filename(path)

我必须得到图像的路径。到目前为止,我已经手动指定了路径,它工作,现在我已经放入heroku但它显示加载错误 - 没有这样的文件存在。 如何使用浏览按钮获取本地系统的路径值。

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您的问题可能与路径名无关,但与Heroku有一个只读文件系统这一事实有关。如果您尝试在Heroku应用程序中将文件写入磁盘,则它无法正常工作 - 该文件将无法保存。

例外是“temp”目录。您可以在那里保存文件,但不保证它们的持续时间超过单个请求的持续时间。

您尝试打开的文件是否实际保存在您的Git仓库中?如果是这样,它将在你的Heroku应用程序的磁盘上,你应该能够打开它。

要查看Heroku实例上的文件系统布局,您可以创建一个控制器方法,如:

render :inline => Dir['**/*'].inspect

答案 2 :(得分:0)

您不需要完整路径。至于客户端计算机中的文件路径与文件上载有关,路径无关紧要,因为它会为用户带来安全风险

大多数现代浏览器都不会发送文件上传文件路径。您可以使用Javascript或Flash获取路径,但我仍然没有看到执行此操作的逻辑。

当用户点击提交按钮时,浏览器应该至少向您发送包含文件数据的文件名以及一些其他信息,例如mime类型。假设您拥有接近无限的内存资源,您的Web服务器会将文件写入磁盘或在内存中处理它。有关详细信息,请查看RFC 1867文件上传内容。