Ruby中的图像上传
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ruby中的图像上传相关的知识,希望对你有一定的参考价值。
Checks to make sure the file is a valid image file, checks max file size, and directory write permissions, requires 'fileutils' gem.
def do_image_upload(theFile) # You should reall set these two in a config. maxFilesize = 10485760 fileDir = "public/files" fileName = Time.now.to_i.to_s + '-' + rand(36**8).to_s(36) + File.extname(theFile[:filename]) filePath = File.join(fileDir, fileName) tempFile = theFile[:tempfile] upload = { :fileSize => tempFile.size, :originalFileName => theFile[:filename], :fileType => theFile[:type], :fileName => fileName, :filePath => filePath } if upload[:fileType] != 'image/png' && upload[:fileType] != 'image/jpeg' && upload[:fileType] != 'image/gif' return {'fileError' => 'FileType not allowed.'} end if upload[:fileSize] > maxFileSize return {'fileError' => 'FileSize too large.'} end if !File.directory?(fileDir) return {'fileError' => 'Destination ' + directory + ' does not exist.'} end if !File.writable?(fileDir) return {'fileError' => 'Cannot write to ' + directory + '.'} end File.open(filePath, "wb") { |f| f.write(tempFile.read) } return upload end
以上是关于Ruby中的图像上传的主要内容,如果未能解决你的问题,请参考以下文章
使用 cloudinary 直接上传 - “没有这样的文件或目录”错误,可能是我的 ruby on rails 代码中的某个错误
如何使用 Ruby 作为后端将 React 上的图像上传到 Google Cloud Storage
使用 rest-client 文件上传在 Yandex 上进行 Ruby 反向图像搜索