Re: [問題] 無法上傳檔案(但win下可以)
不知不覺我也推文推太多了點... 那我從頭講一次好了。
首先,你給的資訊一直都是片段的,如果你不能那麼肯定
需要提供哪些資訊的話,請一次就提供完整的,不然我問你回答,
這樣效率實在太爛了。網路討論不是這樣用的。
其次,碰到奇怪的問題,第一件事就是要看 error log.
如果 apache 提供的資訊太少,就換 mongrel, log 越詳細越好。
我剛剛稍微瞥了一下出問題的部份:
actionpack-2.0.2/lib/action_controller/request.rb: 548
節錄上下程式碼:
c = if bufsize < content_length
body.read(bufsize)
else
body.read(content_length)
end
if c.nil? || c.empty?
raise EOFError, "bad content body"
end
buf.concat(c)
content_length -= c.size
問題是這邊 raise 了 EOFError, 說預期要有的 data 讀不到。
很可能就是 content_length 長於實際上要有的 data.
你說,圖片在 10k ~ 20k 有比較高的機率可以傳上去,
那很可能就是你的 server 碰到 http request 本身含有比較大量的資料時,
就整個被剪掉了?為什麼會有這種狀況,我不知道。
比方說,是否有防火牆?router 運作是否正常?
ruby 有沒有正確安裝?是否 IO 的部份沒灌好?
甚至是,server 記憶體夠用嗎?會不會不夠了?
像是這些資訊你都沒有提供,所以我這邊也只能質疑有可能而已。
shelary 大也問了兩個問題,是否權限有設定好?
你的 rails process 有權限寫入硬碟嗎?你的硬碟夠用嗎?
可能問題實在太多了... 所以提供的資訊,一定要越完整越好。
所以所以,你先找找看為什麼 request 資訊有所遺失吧。
也可以換成 webrick, thin, lighttpd 等等 server 試試。
交叉比對或許能找到問題。例如,真的是 ruby 壞掉了,
還是根本就是網路有問題?甚至是你 linux 哪裡沒灌好...
--
In Lisp, you don't just write your program down toward the language,
you also build the language up toward your program.
《Programming Bottom-Up》- Paul Graham 1993
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.28.18
推
07/05 18:15, , 1F
07/05 18:15, 1F
→
07/05 18:23, , 2F
07/05 18:23, 2F
討論串 (同標題文章)
完整討論串 (本文為第 6 之 8 篇):
2
29
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章