我目前有以下用於上傳圖像,但我也想添加一個限制,防止用戶上傳任何小於50px
的文件在height
。這可能嗎?Rails file_field大小限制
file_field "form", "image", accept: 'image/png,image/gif,image/jpeg'
我目前有以下用於上傳圖像,但我也想添加一個限制,防止用戶上傳任何小於50px
的文件在height
。這可能嗎?Rails file_field大小限制
file_field "form", "image", accept: 'image/png,image/gif,image/jpeg'
試試這個,也許這將幫助你:Reference
validate :validate_image_size
def validate_image_size
image = MiniMagick::Image.open(picture.path)
unless image[:height] < 50
errors.add :image, "should be 50px minimum!"
end
end
這會爲你工作,如果你使用MiniMagick
。
這可能嗎?
是的,這是可能的,但你需要一些JavaScript來做到這一點在客戶端,這是我的例子。將該html輸入更改爲rails helper。
HTML
<input id="image" name="img" type="file" />
/* */
<img src="#" alt="This image is going to load" id="image_on_load" />
<p id='image_info_width'> </p>
<p id='image_info_heigth'> </p>
JS代碼:
在這個例子中的圖像上傳和你能夠獲得的寬度和高度。
瞭解如何在Rails的與JS的作品 7 Must-Reads about JavaScript with Ruby on Rails
當我試圖訪問高度時,它凍結了我的終端 – stackjlei
我給你提供了更多的理解參考,使用它的好友 –
將你的代碼發佈到評論中。 –