2010-04-01 76 views
1

我有一個經典的ASP頁面真正的問題。 頁面允許用戶上傳文檔並將其保存到數據庫。初始頁面發佈到另一個保存到數據庫的asp頁面。這適用於IE和Firefox。但在Safari上失敗。 我調試過這個問題,它歸結爲服務器頁面可以訪問的所有控件的事實,只有1個控件丟失。出現這種情況是這樣的:Safari忽略輸入類型=「文件」在服務器上

<input type="file" size="40" id="myfile" name="myfile" /> 

所以我不知道爲什麼Safari瀏覽器將決定給不給我訪問這個控制(使用ASP的請求(「」)),以及爲什麼它在FF和IE瀏覽器的工作原理。我有一些調試代碼寫出所有的控件,並沒有看到這個控件。

p.s.我討厭網頁開發

+1

嗯....你到底得到'請求(「MYFILE」)'上服務器在使用FF還是IE ?!由於傳統ASP中的文件上傳並不重要,通常需要一定的工作量(它可以完成)或插件(這使得它更容易)。 (這是一種愚人節玩笑嗎?) – 2010-04-01 13:50:09

回答

0

我在Safari 4.0.5上得到了同樣的結果。我在ColdFusion中開發,發佈到處理頁面的簡單表單正在處理除Safari之外的所有主要瀏覽器。我的處理頁面失敗,因爲表單字段「file」爲空,所以服務器無法上傳:O(

+0

這是一個很好的指標,你錯過了如上所示的enctype。 – 2010-04-15 23:29:42

1

您是否在表單中正確設置ENCTYPE屬性?如果您有文件上傳,我認爲它應該是像

<form action="/my/form/processor.asp" enctype="multipart/form-data" method="post"> 

我覺得默認的加密類型是應用程序/ x-WWW窗體-urlencoded,這顯然適用於大多數其他的瀏覽器,但顯然Safari瀏覽器實際上需要這種設置正確。

0

我一個類似的問題,回發在除了safa以外的所有瀏覽器中都可以使用裏..

我從「形式」標籤去除方法=「郵報」和一切工作很好..