版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
文件重命名功能一、目錄21.技術(shù)原理2.效果圖預(yù)覽3.實(shí)現(xiàn)步驟4.功能驗(yàn)證測試二、技術(shù)原理3(1)視圖層:顯示文件重命名的輸入框(2)控制層:接收視圖層的消息,向服務(wù)層發(fā)送文件和文件夾重命名參數(shù),并將服務(wù)層返回的結(jié)果發(fā)送到視圖層(3)服務(wù)層:調(diào)用swift服務(wù)對文件重命名,并將結(jié)果返回給控制層三、效果預(yù)覽圖4四、步驟實(shí)現(xiàn)5在cn/edu/sict/cloud/storage/service/SwiftStorageService.java添加如下代碼public
booleancreateDir(Stringusername,Stringpath,Stringname){SwiftDFSswiftdfs=newSwiftDFS();path+=name+"/";swiftdfs.createDir(username,path);return
true;}四、步驟實(shí)現(xiàn)6在cn/edu/sict/cloud/storage/sh/SwiftDFS.java添加如下代碼private
voidrenamedirfile(StringrootPath,Stringpath,StringnewPath){this.copy(rootPath,rootPath,path,newPath);this.delete(rootPath,path);}四、步驟實(shí)現(xiàn)7在cn/edu/sict/cloud/storage/sh/SwiftDFS.java添加如下代碼private
voidrenamecdirfile(Stringrootpath,Stringcpath,Stringpath,Stringnewpath){Stringstr1[]=newpath.split("/");Stringstr2[]=cpath.split("/");Stringstrpath="";for(int
i=0;i<str2.length;i++){if(i<str1.length){strpath+=str1[i]+"/";}else{strpath+=str2[i]+"/";}}this.copy(rootpath,rootpath,cpath,strpath);this.delete(rootpath,cpath);}四、步驟實(shí)現(xiàn)8在cn/edu/sict/cloud/storage/sh/SwiftDFS.java添加如下代碼public
booleanrenameFile(Stringrpath,Stringname){Mapmappath=getSplitPath(rpath);Stringpath=mappath.get("path").toString();Stringrootpath=mappath.get("rootPath").toString();Stringnewpath="";Stringstr[]=path.split("/");for(int
i=0;i<str.length;i++){if(i==str.length-1){newpath+=name;}else{newpath+=str[i]+"/";}}this.copy(rootpath,rootpath,path,newpath);this.delete(rootpath,path);return
true;}四、步驟實(shí)現(xiàn)9在cn/edu/sict/cloud/storage/sh/SwiftDFS.java添加如下代碼private
voidrenamecfilefile(StringrootPath,Stringcpath,Stringpath,StringnewPath){Stringstr1[]=newPath.split("/");Stringstr2[]=cpath.split("/");Stringstrpath="";for(int
i=0;i<str2.length;i++){if(i<str1.length){strpath+=str1[i]+"/";}else
if(i==str2.length-1){strpath+=str2[i];}else{strpath+=str2[i]+"/";}}this.copy(rootPath,rootPath,cpath,strpath);this.delete(rootPath,cpath);}四、步驟實(shí)現(xiàn)10在cn/edu/sict/cloud/storage/sh/SwiftDFS.java添加如下代碼private
booleanisexist(Stringrootpath,Stringnewpath){List<?extendsSwiftObject>objs=this.list(rootpath);for(SwiftObjectswiftObject:objs){if(swiftObject.getName().equals(newpath)){return
false;}}return
true;}private
voidcopy(StringsrcContainer,StringdestContainer,StringsrcPath,StringdestPath){ObjectLocationsrcLocation=ObjectLocation.create(srcContainer,srcPath);ObjectLocationdestLocation=ObjectLocation.create(destContainer,destPath);os.objectStorage().objects().copy(srcLocation,destLocation);}private
voiddelete(StringrootPath,StringsrcPath){os.objectStorage().objects().delete(rootPath,srcPath);}四、步驟實(shí)現(xiàn)11在cn/edu/sict/cloud/storage/service/SwiftStorageService.java添加如下代碼public
booleanupdatefile(Stringusername,Stringpath,Stringname,boolean
isdir){SwiftDFSswiftdfs=newSwiftDFS();if(isdir){return
swiftdfs.renameDir(username+"/"+path,name);}else{return
swiftdfs.renameFile(username+"/"+path,name);}}四、步驟實(shí)現(xiàn)12在cn/edu/sict/cloud/storage/Web/StorageController.java添加如下代碼@RequestMapping("/updatefile")@ResponseBodypublicObjectupdatefile(HttpServletRequestrequest,HttpServletResponseresponse,Stringpath,Stringname,boolean
isDir){Useruser=getSessionUser(request);boolean
flag=storage.updatefile(user.getUsername(),path,name,isDir);return
newMessageBean(flag,flag?Constants.SUCCESS_7:(isDir?Constants.ERROR_4:Constants.ERROR_5));四、步驟實(shí)現(xiàn)13用戶選擇某一文件觸發(fā)單擊事件show():functionshow(){varobjTable=document.getElementById("tab");for(vari=0;i<objTable.rows.length;i++){varcheckbox=objTable.rows[i].childNodes[1].childNodes[0].childNodes[5];if(checkbox.checked==true){document.getElementById("delete").style.display="block";document.getElementById("download").style.display="block";document.getElementById("rename").style.display="block";document.getElementById("move").style.display="block";document.getElementById("copy").style.display="block";document.getElementById("selectColumn").style.display="block";break;}else{document.getElementById("delete").style.display="none";document.getElementById("download").style.display="none";document.getElementById("rename").style.display="none";document.getElementById("move").style.display="none";document.getElementById("copy").style.display="none";document.getElementById("selectColumn").style.display="none";}}}四、步驟實(shí)現(xiàn)14為重命名按鈕添加單擊事件rename(),并在js中添加如下代碼:functionrenanme(){varnum=0;varobjTable=document.getElementById("tab");for(vary=0;y<objTable.rows.length;y++){varcheckbox=objTable.rows[y].childNodes[1].childNodes[0].childNodes[5];if(checkbox.checked==true){if(num<1){varrenamebox=checkbox.parentNode.parentNode.parentNode.childNodes[3].childNodes[2];varrenametxt=checkbox.parentNode.parentNode.parentNode.childNodes[3].childNodes[0];renametxt.style.display="none";renamebox.style.display="block";num+=1;}else{alert('不能同時重命名兩個或兩個以上文件');location.reload();break;}}}}四、步驟實(shí)現(xiàn)15在js中添加如下代碼,獲取用戶輸入的文件名、文件路徑,判斷是否為文件夾functionsure(){varobjTable=document.getElementById("tab");for(vary=0;y<objTable.rows.length;y++){varcheckbox=objTable.rows[y].childNodes[1].childNodes[0].childNodes[5];if(checkbox.checked==true){varchangename=checkbox.parentNode.parentNode.parentNode.childN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度六安住房租賃合同協(xié)議書
- 2024年度新能源發(fā)電項(xiàng)目投資與建設(shè)合同
- 假期《木偶奇遇記》個人讀后感
- 2024年北京城市副中心建設(shè)項(xiàng)目合同
- 2024年度光伏發(fā)電項(xiàng)目特許權(quán)協(xié)議
- 2024年國際學(xué)校校長合同模板
- 2024年工程質(zhì)量檢測服務(wù)協(xié)議
- 噴水壺課件教學(xué)課件
- 2024年債務(wù)重組:房產(chǎn)轉(zhuǎn)讓與債務(wù)清零合同
- 2024乳制品行業(yè)牛奶輸送泵安裝合同
- 2023年口腔醫(yī)學(xué)期末復(fù)習(xí)-牙周病學(xué)(口腔醫(yī)學(xué))考試歷年真題集錦帶答案
- 函數(shù)的概念 省賽獲獎
- 網(wǎng)絡(luò)安全培訓(xùn)-
- 地下車位轉(zhuǎn)讓協(xié)議
- 2018年蜀都杯《辛亥革命》終稿z
- 斷絕關(guān)系的協(xié)議書兄妹
- 工程變更現(xiàn)場簽證經(jīng)濟(jì)臺帳
- 結(jié)婚函調(diào)報告表
- 數(shù)學(xué)上冊專題(4)含字母參數(shù)的一元一次方程問題作業(yè)課件新版浙教版
- 《稻草人》閱讀測試題及閱讀答案
- 新魯科版三年級英語上冊全冊教案教學(xué)設(shè)計(魯教版)
評論
0/150
提交評論