㈠ 在火狐中<input type="file">取到的路徑不是完整的路徑,怎麼才能獲取完整的路徑
尊敬的用戶,您好!很高興為您答疑。如果您是在利用該控制項進行文件上傳,那麼並不需要獲取完整路徑,因為該控制項實屬用注入方式上傳文件流至目標伺服器。而您的伺服器端的代碼則要視您使用的語言平台了,但是無論是java還是c#亦或是別的動態語言都是可以成功獲取的。希望我的回答對您有所幫助,如有疑問,歡迎繼續咨詢我們。㈡ jsp或html如何通過input file 控制項獲取上傳文件的完整路徑
input
file的上傳路徑是受到保護的,所以沒法拿到
1.通過上傳控制項獲取路徑
2.好多框架自帶仔跡的方式可以獲取路徑
比如我用struts2,它自身就橡鋒有可以獲得路徑的梁戚晌方式,
祝早日解決!
㈢ asp.net中 放入一個 input (file)控制項,怎樣取得選中文件的全路徑,並能在後台引用
需要使用到路徑,為什麼不用FileUpload呢,直接把選擇的路徑顯示出來了啊
㈣ ASP.NET中FileUpload控制項在IE8上怎麼獲得文件的完全路徑
document.getElementById("<%= fuFile.ClientID %>宴閉孫").value用態悄這種晌鏈方法在js里可以獲取到文件的完全路徑你試試吧 我馬上要斷網了
㈤ jsp或html如何通過input file 控制項獲取上傳文件的完整路徑
做上傳當然需要知道文件的位置.首先在你上傳的jsp頁面需要有一個表單form.在這個表單里有一個這樣一個標簽.在你點上傳按鈕的時候將你選中的文件傳遞到servlet或action這樣的處理頁面.在處理頁面StringfileName=request.getParameter("fileName").這樣就得到了文件名。然後你就可以使用文件流對這個文件進行上傳操作。如果還有問題直接HI我。
㈥ html怎麼通過file獲取文件路徑
html通過file獲取文件路徑方法:
第一種:
File f = new File(this.getClass().getResource("/").getPath());
System.out.println(f);
結果:
C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin
獲取當前類的所在工程路徑;
如果不加「/」
File f = new File(this.getClass().getResource("").getPath());
System.out.println(f);
結果:
C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin\com\test
獲取當前類的絕對路徑;
第二種:
File directory = new File("");//參數為空
String courseFile = directory.getCanonicalPath() ;
System.out.println(courseFile);
結果:
C:\Documents and Settings\Administrator\workspace\projectName
獲取當前類的所在工程路徑;
第三種:
URL xmlpath = this.getClass().getClassLoader().getResource("selected.txt");
System.out.println(xmlpath);
結果:
file:/C:/Documents%20and%20Settings/Administrator/workspace/projectName/bin/selected.txt
獲取當前工程src目錄下selected.txt文件的路徑
㈦ simpleshow使用方法
使用方法,圖片上傳預覽是一種在圖片上傳之前對圖片進行本地預覽的技術。
使用戶選擇圖片後能立即查看圖片,而不需上傳伺服器,提高用戶體驗。
但隨著瀏覽器安全性的提高,要實現圖片上傳預覽也越來越困難。
不過群眾的智慧是無限的,網上已經有很多變通或先進的方法來實現。
例如ie7/ie8的濾鏡預覽法,firefox 3的getasdataurl方法。
但在opera、safari和chrome還是沒有辦法實現本地預覽,只能通過後台來支持預覽。
用javascript實現圖片上傳並且預覽效果的實現原理處基本思路:
圖片預覽主要包括兩個部分:從file表單控制項獲取圖像數據,根據數據顯示預覽圖像。
程序的file和img屬性就是用來保存file控制項和顯示預覽圖像的容器的,而img還必須是img元素。
程序有以下幾種預覽方式:
simple模式:直接從file的value獲取圖片路徑來顯示預覽,適用於ie6;
filter模式:通過selection獲取file的圖片路徑,再用濾鏡來顯示預覽,適用於ie7/8;
domfile模式:調用file的getasdataurl方法獲取data uri數據來顯示預覽,適用於ff3;
remote模式:最後的辦法,把file提交後台處理後返回圖片數據來顯示預覽,全適用。
程序定義時就自動根據瀏覽器設置mode屬性:
imagepreview.mode =
b.ie7||
b.ie7||
b.ie8 ? "filter" :
b.firefox?"domfile":
b.firefox?"domfile":
b.opera ||
b.chrome||
b.chrome||
b.safari ? "remote" : "simple";
如果用能力檢測會比較麻煩,所以只用了瀏覽器檢測。
由於瀏覽器對應的默認模式是不會變的,這個值直接會保存到函數屬性中作為公用屬性。
ps:ie6也可以用filter模式,不過它有更好的simple模式。
使用說明
實例化時,有兩個必要參數,分別是file控制項對象和img元素的預覽顯示對象:
new imagepreview( file, img );
可選參數用來設置系統的默認屬性,包括:
屬性: 默認值//說明
mode: imagepreview.mode,//預覽模式
ratio: 0,//自定義比例 java免費學習 java自學網 http://www.javalearns.com
maxwidth: 0,//縮略圖寬度
maxheight: 0,//縮略圖高度
oncheck: function(){},//預覽檢測時執行
onshow: function(){},//預覽圖片時執行
onerr: function(){},//預覽錯誤時執行
以下在remote模式時有效
action: undefined,//設置action
timeout: 0//設置超時(0為不設置)
如果要使用remote模式必須設置一個action。
還提供了以下方法:
preview:執行預覽操作;
dispose:銷毀程序。
具體實現及代碼:
【獲取數據】
調用preview方法,就會執行預覽程序:
if ( this.file && false !== this.oncheck() ) {
this._preview( this._getdata() );
}
在通過檢測後,再調用_getdata獲取數據,並作為_preview的參數進入下一步。
程序初始化時就會根據mode來設置_getdata數據獲取程序:
this._getdata = this._getdatafun(opt.mode);
mode的默認值是imagepreview.mode,也可以在可選參數中自定義。
由於兼容性問題,一般應保留默認值,除非是使用全兼容的remote模式。
在_getdatafun裡面,根據mode返回數據獲取程序:
復制代碼
switch (mode) {
case "filter" :
return this._filterdata;
case "domfile" :
return this._domfiledata;
case "remote" :
return this._remotedata;
case "simple" :
default :
return this._simpledata;
}
復制代碼
不同的模式有不同的數據獲取程序:
濾鏡數據獲取程序:
this.file.select();
try{
return document.selection.createrange().text;
} finally { document.selection.empty(); }
一般用在ie7/8,在file控制項select後再通過selection對象獲得文件本地路徑。
此時file控制項不能隱藏,否則不能被select,不過一般能選擇文件就肯定能被select了。
確實要隱藏也可以在獲取數據之後再隱藏。
domfile數據獲取程序:
return this.file.files[0].getasdataurl();
用getasdataurl從file控制項獲取數據,這個方法暫時只有ff3支持。
遠程數據獲取程序:
this._setupload();
this._upload && this._upload.upload();
用_upload上傳文件對象把數據提交後台,根據返回的數據再顯示。
這個方法不屬於本地預覽,是沒有辦法中的辦法。
一般數據獲取程序:
return this.file.value;
最原始的方法,現在只有ie6還支持從file的value直接獲取本地路徑。
獲取數據後,作為_preview預覽程序的參數,再進行處理:
if ( !!data && data !== this._data ) {
this._data = data; this._show();
}
首先排除空值或相同值的情況,再執行_show程序進行顯示預覽,其中_data屬性用來保存當前的圖片數據。
圖片使用data uri數據時可能會設置一個很大的src值,在ie8獲取很大的src值會出現「無效指針」的錯誤。
使用_data屬性保存這個值可以避免從src取值而觸發這個錯誤。
遠程數據獲取程序沒有返回值,因為它需要等待返回數據,在_preview中會自動排除。
【顯示預覽】
程序初始化時就會根據mode來設置_show預覽顯示程序:
this._show = opt.mode !== "filter" ? this._simpleshow : this._filtershow;
除了filter模式,都是使用_simpleshow顯示程序來顯示預覽圖片的。
裡面會先調用_simplepreload方法設置一般預載圖片對象:
復制代碼
if ( !this._preload ) {
var preload = this._preload = new image(), othis = this,
onload = function(){ othis._imgshow( othis._data, this.width, this.height ); };
this._onload = function(){ this.onload = null; onload.call(this); }
preload.onload =
b.ie ? this._onload : onload; preload.onerror = function(){ othis._error(); }; } else if (
b.ie ? this._onload : onload; preload.onerror = function(){ othis._error(); }; } else if (
b.ie ) {
this._preload.onload = this._onload;
}
復制代碼
預載圖片對象保存在_preload屬性中,主要用來判斷圖像能否載入成功並獲取圖片原始尺寸。
要實現這些功能使用image對象就足夠了。
在onload中執行_imgshow顯示預覽,在onerror中進行出錯處理。
ps:ff、chrome和safari的圖片對象還有naturalheight和naturalwidth屬性可以獲取圖片的原始尺寸,即使圖片尺寸已經修改過。
這里要注意ie6/7的gif圖片載入bug,測試以下代碼:
<!doctype html><body><img id="img" /><div id="div"></div></body>
<script>
img.onload = function(){ div.innerhtml += this.complete + ", "; };
img.src = "http://tuan.pcpop.com/image/my/loading.gif";
</script>
一般圖片執行一次onload後並不會重復執行,但ie6/7的gif每次循環播放都會執行一次onload。
ps:ie8在非標准(怪辟)模式下也有相同的問題。
可以在onload的時候,判斷complete是否為false來判斷是否重復載入。
ps:除了ie,其他瀏覽器在onload時complete就已經為true了。
問題是選擇另一個圖片時這個complete仍然是true,這樣就沒有意義了。
所以只好在onload裡面重置onload為null,並在每次選擇文件重設onload了。
然後設置_preload的src預載圖片,如果成功預載就會執行_imgshow顯示預覽。
要注意src的設置要在onload/onerror的設置之後,否則設置之前就載入完成的話就觸發不了事件了。
_imgshow需要三個參數,包括要預覽圖片的src值,圖片原始寬度和圖片原始高度。
在_imgshow裡面首先設置預覽圖片的尺寸:
復制代碼
var img = this.img, style = img.style,
ratio = math.max( 0, this.ratio ) || math.min( 1,
math.max( 0, this.maxwidth ) / width || 1,
math.max( 0, this.maxheight ) / height || 1
);
style.width = math.round( width * ratio ) + "px";
style.height = math.round( height * ratio ) + "px";
復制代碼
這里的關鍵是獲取ratio比例值,如果自定義的ratio大於0就直接使用自定義的比例,否則就根據參數自動計算。
自動計算首先要確保maxwidth最大寬度和maxheight最大高度大於等於0。
然後分別跟原始寬高做「/」運算得到比例,如果比例為0表示不限制,那麼比例就自動改為1。
最後取比較小的比例來計算,程序設定了比例最大值為1,這樣就不會自動放大圖片了。
當然比例的計算可以根據需要自行修改。
ps:style的優先順序比屬性(width/height)高,所以要用style設置。
最後設置img的src就可以實現預覽了。
【remote模式】
remote模式會先提交file控制項到後台,通過返回的數據來顯示圖片。
它跟其他模式最大的區別就是獲取數據的部分。
在_remotedata遠程數據獲取程序中,會調用_setupload來設置上傳文件對象。
如果設置了action,並存在quickupload函數,就會實例化一個上傳文件對象保存到_upload中:
復制代碼
var othis = this;
this._upload = new quickupload(this.file, {
onready: function(){
this.action = othis.action; this.timeout = othis.timeout;
var parameter = this.parameter;
parameter.ratio = othis.ratio;
parameter.width = othis.maxwidth;
parameter.height = othis.maxheight;
},
onfinish: function(iframe){
try{
othis._preview( iframe.contentwindow.document.body.innerhtml );
}catch(e){ othis._error("remote error"); }
},
ontimeout: function(){ othis._error("timeout error"); }
});
復制代碼
這里使用的quickupload就是簡便無刷新文件上傳程序。
在onready中設置參數,在onfinish中處理返回數據,ontimeout進行出錯處理。
返回的數據可以是圖片的地址或對應的data uri數據,然後給_preview處理。
當然針對不同的後台輸出,數據處理的方式也不同,可以按照需要修改。
後台最好先根據傳遞的參數縮小圖片,盡量減少返回數據來提高預覽速度。
【filter模式】
filter模式在_filterdata程序中得到文件本地路徑,但ie7/8都不允許直接使用本地路徑顯示圖片。
不過還是可以通過濾鏡,用本地路徑來做預覽圖片效果。
filter模式使用_filtershow方法來顯示預覽圖片。
裡面先調用_filterpreload方法來設置濾鏡預載圖片對象。
跟一般預載圖片對象不同,濾鏡預載對象是用濾鏡來顯示圖片,所以並不一定要圖像元素。
程序就使用了div元素作為濾鏡預載對象:
復制代碼
var preload = this._preload = document.createelement("div");
$$d.setstyle( preload, {
width: "1px", height: "1px",
visibility: "hidden", position: "absolute", left: "-9999px", top: "-9999px",
filter: "progid:dximagetransform.microsoft.alphaimageloader(sizingmethod='image')"
});
var body = document.body; body.insertbefore( preload, body.childnodes[0] );
復制代碼
在樣式設置中隱藏元素並添加濾鏡,要使濾鏡生效width和height必須設置一個值。
由於要獲取尺寸,只能用visibility來隱藏並插入body,關於alphaimageloader濾鏡後面再介紹。
然後在_filtershow中預載圖片:
try{
preload.filters.item("dximagetransform.microsoft.alphaimageloader").src = data;
}catch(e){ this._error("filter error"); return; }
成功的話,再給img載入圖片:
this.img.style.filter = "progid:dximagetransform.microsoft.alphaimageloader(sizingmethod='scale',src=\"" + data + "\")";
注意,如果路徑中有「)」,「%」這類字元的話,直接拼接到濾鏡字元串中會出現類似sql注入的問題。
程序會先對這些敏感字元進行escape編碼:
data = this._data.replace(/[)'"%]/g, function(s){ return escape(escape(s)); });
為什麼要做兩次escape編碼呢?測試時發現「%」只轉一次的話,遇到「%40」之類的字元時還是會出問題。
所以我推測,字元在使用前會進行兩次unescape解碼,於是對應的做兩次escape編碼果然沒問題了。
雖然預載對象是直接設置濾鏡的src屬性,但也有「%」的拼接字問題,所以也要escape編碼。
ps:雖然單引號和雙引號這里並不是必要,還是一起替換掉安心點。
還要注意預覽對象不要用filters.item的方式設置濾鏡。
因為元素插入文檔之前,並不能通過filters.item獲取濾鏡對象,但能通過style預先設置filter。
所以在不確定元素位置的情況下,只能用style來設置filter了。
最後調用_imgshow設置尺寸:
this._imgshow( imagepreview.transparent, preload.offsetwidth, preload.offsetheight );
由於img是一個圖片對象,默認會顯示一個小圖標,為了去掉這個小圖標,可以讓它顯示一個透明圖片。
程序傳遞了imagepreview.transparent來設置透明圖片,具體數據在data uri 和 mhtml再說明。
ps:當然也可以在filter模式用div做預覽圖片對象就沒有小圖標了,但這樣兼容起來會麻煩很多。
【alphaimageloader濾鏡】
filter模式使用的是alphaimageloader濾鏡。
它的作用是在對象容器邊界內,在對象的背景和內容之間顯示一張圖片。
如果載入的是png圖片,其透明度會被支持,因此它更多地用來解決png的兼容問題。
詳細參考msdn的alphaimageloader filter和「microsoft.alphaimageloader濾鏡講解」。
它包括三個屬性:enabled(濾鏡是否激活),sizingmethod(圖像顯示方式)和src(圖像路徑)。
程序主要使用後面兩個屬性。
sizingmethod有三種方式:
crop:剪切圖片以適應對象尺寸;
image:默認值。增大或減小對象的尺寸邊界以適應圖片的尺寸;
scale:縮放圖片以適應對象的尺寸邊界。
預載圖片對象_preload,需要獲取圖片的原始尺寸,所以要用image方式。
而預覽圖片對象img,則要按設定尺寸顯示圖片,所以要用scale方式。
而src屬性設置的路徑還支持本地路徑,是實現filter模式的關鍵所在。
還好濾鏡並沒有像file控制項那樣提高安全性,否則ie7/8就沒有辦法實現本地預覽了。
【nsidomfile介面】
ff從3.0(或許更早)開始,就不能通過file控制項的value屬性獲取文件本地路徑,也不支持直接用本地路徑顯示圖片。
不過欣喜的是,它同時也提供了nsidomfile介面,能更好地獲取文件數據。
在ff的file控制項有一個filelist對象,包含了帶nsidomfile介面的file對象。
ps:filelist對象貌似是一個nodelist集合,但目前只能用第一個,可能是為了將來實現一個file控制項選擇多個文件的功能預留的。
這個file對象有三個獲取文件數據的方法:
getastext:獲取文件的文本數據,可以通過參數設置編碼;
getasdataurl:獲取文件的data uri(url?)數據;
getasbinary:獲取文件的二進制數據。
其中getasdataurl獲得的data uri數據可以用於顯示圖片,_domfiledata中就是用它來獲取數據的。
file對象還支持兩個屬性:filename(文件名,不包括路徑)和filesize(文件大小)。
相關具體說明參考mozilla的file和nsidomfile。
【data uri 和 mhtml】
上面已經多次提到data uri,詳細介紹請看秦歌的「data uri 和 mhtml」。
data uri的主要作用是以字元代替數據,從而把文件「嵌」在代碼里。
除了ie,其他瀏覽器基本都很好的支持了data uri。
ie8也有限度地支持,詳細參考msdn的data protocol。
由於opera,safari和chrome需要remote模式的瀏覽器都支持data uri,所以程序返回的是data uri形式的數據。
相比返迴路徑的方法,返回data uri不需要創建文件,還少一次http請求。
ps:ie8隻支持32k的data uri數據,在ie8使用時要注意數據大小。
在filter模式需要一個透明圖片來去掉img默認顯示的小圖標,一般的方法需要一個圖片文件。
為了「省下」這個文件,可以使用data uri來做一個1*1的透明圖片:
data:image/gif;base64,r0lgodlhaqaaaap///==
支持data uri的情況下,只要把img的src設置為這個值就可以顯示一個透明圖片了。
雖然ie6/7不支持data uri,但還有mhtml可以使。
在imagepreviewd.js開頭有一段注釋了的代碼:
復制代碼
content-type: multipart/related; boundary="_cloudgamer"
--_cloudgamer
content-location:blankimage
content-transfer-encoding:base64
r0lgodlhaqabajeaaaaaap///==
復制代碼
其中boundary的值是分隔符標識,說明用於分隔數據段的字元。
content-location說明關聯引用位置,可以用作數據段的標識。
content-transfer-encoding就是字元編碼形式。
後面的代碼就是1*1的透明圖片的base64編碼數據。
然後在代碼中這樣調用(例如設置img元素的src屬性):
mhtml:文件完整路徑!blankimage
就可以鏈接到一個透明圖片了。
接著就要解決如何獲得script(js文件)的完整路徑(包含http開頭的路徑)的問題了。
首先要在腳本運行時獲取,當前運行的script肯定是document.scripts的最後一個:
document.scripts[document.scripts.length - 1]
ps:ff不支持document.scripts,可以用getelementsbytagname("script")來兼容。
接著可以利用getattribute從src獲取script的完整路徑:
document.scripts[document.scripts.length - 1].getattribute("src", 4)
ie6/7的getattribute支持第二個參數,設為4表示返回完整路徑的url地址,詳細參考msdn的getattribute method。
結合data uri 和 mhtml可以這樣得到透明圖片數據:
imagepreview.transparent =
b.ie7||
b.ie7||
b.ie6 ?
"mhtml:" + document.scripts[document.scripts.length - 1].getattribute("src", 4) + "!blankimage" :
"data:image/gif;base64,r0lgodlhaqaaaap///==";
使用時要注意:
腳本必須單獨另存為一個文件,作為mhtml需要的文件路徑。
要自動獲取完整路徑需要用script標簽鏈接文件。
【超空間】
程序還有一個dispose方法用於銷毀程序。
包括這幾個部分:
_upload上傳文件對象:它本身已經有一個dispose方法來銷毀程序;
_preload預載圖片對象:先清除它的onload/onerror事件再移除元素;
file和img屬性:直接設為null,由於不是程序創建的元素,留給使用者來移除。
說到移除元素,順便說一下超空間(dom hyperspace),這是從「ppk談javascript」中看到的。
大概指的是當元素不在dom裡面,而js又有關聯時,元素並不會消失,而是保存在一個稱為「超空間」的地方。
詳細參考書的dom 超空間部分。
書中還說可以根據是否有parentnode來判斷元素是否在超空間,但測試以下代碼:
復制代碼
<body></body>
<script>
var elm = document.createelement("div");
alert(elm.parentnode);
document.body.removechild(document.body.appendchild(elm));
alert(elm.parentnode);
</script>
復制代碼
第一次parentnode都是null,沒有問題,按理第二次也應該是null,但ie卻是一個object。
經測試,這個object的nodetype是11,也就是一個碎片對象(fragment)。
而且各個被removechild移除的元素的parentnode都不相同,即會生成不同的碎片對象。
這種情況算不算在「超空間」呢,不過書中也只是說「一般來說」,也不用太考究。
那麼用innerhtml清除呢?再測試以下代碼:
<body><div id="test"></div></body>
<script>
var elm = document.getelementbyid("test");
document.body.innerhtml = "";
alert(elm.parentnode);
</script>
結果在ie也是null了,看來removechild和innerhtml在清除元素時產生了不同的結果。
那個碎片對象貌似沒什麼用(難道為了保證有parentnode?),那是不是innerhtml就一定比removechild好呢?
再測試以下代碼:
復制代碼
<body>
<style>div{border:1px solid #000; height:20px;}</style>
<span><div id="test1">test1</div></span>
<span><div id="test2">test2</div></span>
</body>
<script>
var div1 = document.getelementbyid("test1"), parent1 = div1.parentnode;
parent1.removechild(div1);
alert(div1.tagname + ":" + div1.innerhtml);
parent1.appendchild(div1);
var div2 = document.getelementbyid("test2"), parent2 = div2.parentnode;
parent2.innerhtml = "";
alert(div2.tagname + ":" + div2.innerhtml);
parent2.appendchild(div2);
</script>
復制代碼
當使用removechild時,移除元素的結構並沒有發生變化,各個瀏覽器的效果都一樣。
而使用innerhtml清除時,其他瀏覽器的效果跟removechild一樣,但在ie被移除的元素就只剩下一個「外殼」了。
個人推測,ie在使用innerhtml時,被移除的元素會變成一個個單獨的元素,失去了彼此的聯系。
形象點說就是removechild是直接掰斷樹枝,還能繼續嫁接使用,而innerhtml是把需要的樹葉節點取下來,再把樹枝燒掉。
ps:僅僅是推測,誰有官方資料請告訴我。
那麼removechild的好處是移除的元素能再次使用,兼容性好,不好的地方是ie會產生一個沒用的碎片對象。
而innerhtml的好處是不會產生多餘的碎片對象,方便高效,但在ie被移除的元素基本不能再用,有兼容性問題。
那就可以根據需要使用不同的方法了,至於防止內存泄漏用那個好,感覺是innerhtml,但沒有更深入研究的話還說不清楚。
使用技巧
一般來preview方法都是在onchange中調用,即選擇文件後立即顯示預覽。
在不需要程序時最好執行一次dispose方法來銷毀程序,防止內存泄漏等。
利用imagepreview.transparent可以顯示透明圖片,而不需另外隱藏或增加文件。
第二個實例中的resetfile是用來重置file控制項的,詳細參考這里file的reset。
而file控制項樣式設置詳細參考這里的file樣式。
asp版本使用persits.jpeg組件縮放圖片,測試請先安裝該組件。
㈧ ASP.NET如何獲取fileupload控制項所選的文件路徑
我現在又顯示它的方法了 ,就是要傳個文件路徑的參數進來。然後我就用 <asp:FileUpload ID="FileUpload1" runat="server" / 整個控制項來獲取文件的路徑,高橡, 你錯了,你獲得路徑也沒用,你顯示需要的是服務端的路徑,那個控制項里的路徑是客戶端路徑,你拿到了也沒有用的.最多隻能你自己本機測鋒念或試的時候有用,(因為服務端和瀏覽器銀伍在同個電腦)但是實際上這種做法是錯誤的. 要顯示Excel文件有很多方式, 如果你有路徑就能顯示的話,你可以調用 SaveAs方法把文件存在一個臨時你自己起的路徑(這個是服務端的了), 然後你把這個路徑拿來用就可以了.
㈨ 使用FileUpLoad控制項時,如何獲取所選文件的路徑
獲取不到客戶端的路徑
HttpContext.Current.Server.MapPath(伺服器路徑) 這會返回一個伺服器的完整路徑
FileUpload1.SaveAs(一個字元串,指定伺服器上用於保存上載文件的位置的完整路徑。)
㈩ 如何獲取file控制項的完整路徑
您好!很高興為您答疑。
因為蘆讓穗火滑笑狐瀏覽器新的安全機制的限制,是無法獲取到本地路徑的完整路徑的,請知曉。
如果對我們的回答存在任陪卜何疑問,歡迎繼續問詢。