⑴ 怎麼實現本地上傳文件並獲取文件路徑
試試這個控制項:http://www.cnblogs.com/xproer/archive/2010/10/24/1859895.html
此控制項是基於標准HTTP協議實現的文件上傳功能。優勢是擴展性非常好,整合簡單,支持批量上傳文件和上傳文件夾功能,上傳前獲取本地文件大小,適合各種簡單WEB項目。
另外一個特點是支持自動上傳指定的本地文件。
單文件上傳演示
上傳本地文件代碼
使用步驟如下:
1.調用AddFile函數添加本地文件,注意路徑需要使用雙斜框(\\)
2.調用PostFirst函數開始上傳文件。
javaScript code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript" language="javascript">
var uploaderMgr = new HttpUploaderMgr();
uploaderMgr.Load();//載入控制項
window.onload = function()
{
uploaderMgr.Init();//初始化控制項
//添加一個本地文件
uploaderMgr.AddFile("D:\\Soft\\QQ2010.exe");
uploaderMgr.PostFirst();
};
</script>
單文件整合代碼:
JavaScript code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
伺服器返回消息:<input id="txtFilePath" type="text" size="50" />
<script type="text/javascript" language="javascript">
var uploaderMgr = new HttpUploaderSingleMgr();
uploaderMgr.Config["PostUrl"] = "http://localhost:8080/asp.net/upload.aspx";
uploaderMgr.Load();
//文件上傳完成後執行的回調函數
uploaderMgr.CompleteHook = function(msg)
{
document.getElementById("txtFilePath").value = msg;
};
window.onload = function()
{
uploaderMgr.Init();
};
</script>
⑵ 怎麼用js來獲取 file中的上傳文件的文件名
在firefox上,input(復type=file)默認制獲取到的value值就是文件名。
在IE上,input(type=file)默認獲取到的value值是路徑。
因此用js來獲取fileupload中的上傳文件的文件名需要多方面考慮。
你可以試下一下
function getFileName(path){
var pos1 = path.lastIndexOf('/');
var pos2 = path.lastIndexOf('\\');
var pos = Math.max(pos1, pos2)
if( pos<0 )
return path;
else
return path.substring(pos+1);
}
測試過了,沒有問題,可用。
⑶ 怎麼用js來獲取 fileupload中的上傳文件的文件名
在firefox上,input(type=file)默認獲取到的value值就是文件名。回
在IE上,input(type=file)默認獲取到的value值是答路徑。
因此用js來獲取fileupload中的上傳文件的文件名需要多方面考慮。
你可以試下一下
function getFileName(path){
var pos1 = path.lastIndexOf('/');
var pos2 = path.lastIndexOf('\\');
var pos = Math.max(pos1, pos2)
if( pos<0 )
return path;
else
return path.substring(pos+1);
}
⑷ java或js(可用jquery)如何獲取上傳文件原始路徑名
上傳文件時,我想獲取客戶端上傳文件的原始路徑。第一考慮,當然是使用js,例如網上可以找到的:
function getPath(obj) { if (obj) { if (window.navigator.userAgent.indexOf("MSIE") >= 1) { obj.select(); return document.selection.createRange().text; } else if (window.navigator.userAgent.indexOf("Firefox") >= 1) { if (obj.files) { return obj.files.item(0).getAsDataURL(); } return obj.value; } return obj.value; } } 但這樣的代碼在Ie下還是可行的,但在火狐下不兼容。所以又想通過servlet的第三方工具去做,例如FileUpload,本以為FileItem下的getName()方法能夠得到全路徑名,但結果仍然只得到文件名,很是杯具!求解決方法!?
引用至於你說的,不明白你的意思關鍵問題是我要獲得這個路徑,並且傳遞到後台!用js會有兼容性問題,如果用FileUpload上傳,是否可以獲得呢?我是沒有得到的!!! 問題補充:zhanjia 寫道上傳文件一般用input標簽,type為file,瀏覽選擇文件後就是文件在本地的絕對路徑了
引用至於你說的,不明白你的意思關鍵的問題是我要獲得這個本地路徑,並且傳到後台!用js可以得到,但存在兼容性問題!?如果用FileUpload呢?我暫時還沒有得到!!! 問題補充:zhanjia 寫道網上的一些解決方案:
一般都是上傳以後在資料庫中保存上傳後的文件路徑,本地路徑一般沒意義
除非像上面所說的文件上傳預覽,還有那麼點用處
我用來做數據介面的,我僅僅是把路徑傳給另一個系統,然後那個系統就可以從這個路徑取文件了。
⑸ java web項目java後台獲取前台js上傳文件的路徑
如果通過servelet來讀取上傳文件路徑,則代碼如下,我已經在項目中用過了:
DiskFileItemFactorydifif=newDiskFileItemFactory();
difif.setSizeThreshold(32*1024);difif.setRepository(newFile(tmpDir));//
用以上工廠實例化上傳組件ServletFileUploadsfu=newServletFileUpload(difif);
sfu.setSizeMax(MAX_SIZE);
ListfileList=sfu.parseRequest(request);
if(fileList==null||fileList.size()==0){thrownewException("
導入文件不存在,請檢
查");}else{FileupLoadFile=null;IteratorfileIterator=fileList.iterator();
//得到所有上傳的文
件while(fileIterator.hasNext()){FileItemfileItem=(FileItem)fileIterator.next();//
取得上傳文件
名if(fileItem.getContentType()==null){}else{
//
此為路
徑Stringpath=fileItem.getName();Stringt_ext=path.substring(path.lastIndexOf(".")+1);//
根據系統時間生成上傳後保存的文件
名Stringprefix=String.valueOf(System.currentTimeMillis());//
保存最終的文件完整路徑,保存在工程根目錄下的Upload目錄
下Stringu_name=tmpDir+File.separator+prefix+"."+t_ext;//
開始保存文
件upLoadFile=newFile(u_name);fileItem.write(upLoadFile);}}}
⑹ 怎麼用js獲取上傳文件的完整路徑
file是一種特殊的input,不能被賦值,也不能被javascript取值,只能隨表單提交內,而且隨表單提交的也是file路徑所指容向的文件本身。
這是瀏覽器安全原因所限制的,如果可以取值和賦值的話,那麼javascript就可以隨意獲取你電腦上的文件了,這是非常危險的
⑺ JS 多文件上傳 怎麼獲得文件的本地路徑
flex上傳的是文件流,你應該在服務端接到這個位元組流 將其創建成文件對象 並保存在伺服器專本地磁屬盤中獲得路徑返回給前台,如果你們用node js做的伺服器 也是同理 一定有處理流的方法,關鍵是你要理解flex 通過onload載入成功後在成功事件對象中取得的是 這個文件的信息 包括 位元組流啊 寬高啊 名字啊等等。不知道能否讓你理解。
⑻ jquery或者js獲取上傳文件的路徑問題
我的理解是你應該先通過圖片上傳介面把圖片上傳到伺服器上(上傳後的伺服器端的圖片地址,保存到<input type="hidden">里),然後再統一提交所有的表單項。
⑼ javascript 上傳文件到阿里雲的oss,上傳文件成功後怎麼獲取文件的真實路徑
如果你直接使用 javascript 將阿里雲的accessId、accessKey寫在頁面上是不安全的,你可以使用後台存儲這專些敏感的信息,官網屬有相關的SDK ,你可以選擇你常用的。
在後台編寫你的回調函數,將回調函數憑證信息返回給前端,前端使用回調函數憑證訪問OSS,就可以獲取到回調函數信息。
⑽ springmvc文件上傳路徑設置
springmvc文件上傳路徑設置:
1、導入文件上傳的坐標。
2、在spring-mvc.xml配置文件中配置文件解析器對象,property可以配置上傳文件的大小等屬性。注意:id一定要是multipartResolver。
3、前端頁面的form表單,method是post方法,加上enctype="multipart/form-data"這個屬性。
4、後端方法的參數類型為MultipartFile,參數名要與前端文件域的name一樣。
5、最後用file參數的getOriginalFilename()方法獲取上傳的文件名,然後再用transferTo(參數1,參數2)方法將文件上傳到指定路徑。註:transferTo(參數1,參數2)的參數1為指定將文件上傳的路徑,參數2為文件名。