在一本書上發現的問題 到時只是練練手 發現當我用 uploadfile.postedfile.filename 獲取完整路徑的時候盡然獲取不到 從網上找能很多資料 發現都是能夠獲取到的 因為只是新手 所以百思不得其解 於是找到了書的作者 讓他幫忙看看 發現最後是瀏覽器的問題在ie6是可以獲取到的 ie8就只能獲取名稱了
以下是哪位作者解決的思路:
**位址:http://www.cnblogs.com/szw/archive/2009/08/31/1557480.html
這個問題源自一位熱心而且踏實的讀者,發現《
asp.net 3.5+sql server**模組化開發全程實錄
》中第117頁的一段例項**:
using
system;
using
system.web;
using
system.web.ui;
using
system.web.ui.htmlcontrols;
public
partial
class
uploadfile : system.web.ui.page}
經過這位朋友的嚴格跟蹤測試,發現postedfile.filename並不是「獲取檔名的完整路徑」,而只是檔名。
起初我也愣了一下,於是趕緊測試,發現確實是檔名,而不是完整路徑。但是在我記憶中,非常確定這個方法是可以獲取到完整路徑的。於是靜下心來一想,真相只有乙個——瀏覽器!
著手驗證。
上傳本地物理路徑的檔案d:/testupload.jpg。
用ie7/ie8獲取postedfile.filename結果如下:testupload.jpg。
用ie6獲取postedfile.filename結果如下:d:/testupload.jpg。
同時使用httpwatch跟蹤了一下,發現從post的環節上,就已經顯現出上述差別:
於是問題已經本明了了:不同的瀏覽器對於post的值(一般這個值中包含了兩個資訊,分別是[路徑+]檔名以及contenttype)有所差別(其本質除了瀏覽器的行為因素外,還有預設安全設定的問題)。
因此得出乙個更加周全的處理建議:使用fileupload控制項在獲取檔名的時候,盡量使用 path.getfilename(uploadfile.postedfile.filename)這樣的方法,將其視同完整路徑來處理,這樣可以使任何瀏覽器下面都能得到正確的檔名,而不會包含路徑(書本中用了乙個比較繁瑣的過程過濾路徑,僅供學習之用:))。
起先我在本機很容易就獲取了完整的路徑,不過經過幾位朋友的提示,發現遠端訪問的時候還是會有問題,看來這確實是件難事了,不過這本身也就是瀏覽器安全性的體現,關於非要從客戶端獲取完整路徑的問題我就不鑽牛角尖了:)
spring vaule獲取不到值
1 當springmvc與spring整合使用的時候,在controller中無法獲取 value對應的值。剛開始我就是這種情況,2 在service或者dao層無法獲取 value的數值。那麼,當需要載入多個properties的時候,如何解決?可以用下面的方法 這樣,將所有需要載入的proper...
Jquery獲取不到元素
最近在做需求時,需要獲取乙個div的id對該div包裹的畫面進行刪除。var deletecharts combinationdeleteid delchartarray j deletecharts remove 刪除選 在這裡插入 片 中的單個生成畫面 然後發現無論如何都刪除不掉,原因為無法獲取...
ajax post data 獲取不到資料
ajax post data 獲取不到資料,注意 content type的設定 post get 關於 jquery data 傳遞資料。網上各種獲取不到資料,亂碼之類的。好吧今天我也遇到了,網上一查各種糾結。亂碼不管先看獲取不到資料。因為之前一直用jquery ajax get的方式傳遞引數,預...