最近在做圖片的上傳,但是客戶可以在上傳之前對自己的圖片進行剪切,本想讓圖片不上傳到server上就可以剪切的,但是最后在firefox上遇到了麻煩,firefox中不可以得到input type=file的全路徑,只可以得到文件名,很讓人郁悶。。。google了下,網上有好多人遇到了這個問題,說是firefox從安全考慮的,不管它了。。估計肯定有解決辦法,找到了一個別人實現的。。但是預覽功能都是用js輸出的,我要用image 標簽輸出,改這個js也不簡單:
http://hedgerwow.appspot.com/image-upload-preview/demo.html
我也就沒有繼續折騰,最后參照xiaonei的圖片上傳 剪切功能辦法,實現了,其實就是先把圖片上傳到server上的。。。
xiaonei 網址:http://head.upload.xiaonei.com/Upload.do
沒有xiaonei號的。??次业囊粡埥貓D吧。。其實也就是多了一個上傳button罷了
我的效果:

核心代碼:
rhtml:
<form name="uploadform" id="uploadform" action="crop" method="post" enctype="multipart/form-data">
<input id="uploadimage" type="file" name="uploadimage"/>
<input type="submit" class="button" name="upload" value="上傳" id="upload" />
</form>
controller:
if params[:upload]
image = params[:uploadimage]
name = image.original_filename
File.makedirs("public/upload/tmp")
directory = "public/upload/tmp"
path = File.join(directory,name)
File.open(path, "wb") { |f| f.write(image.read) } # important
@src = path[6..-1] # get image src
end
source download:
http://www.uushare.com/user/fl1429/file/1842295 (ruby1.8.6 + rails 2.1.0)
posted on 2009-06-22 18:11
fl1429 閱讀(554)
評論(0) 編輯 收藏 所屬分類:
Rails