![云存儲(chǔ)文件重命名功能_第1頁(yè)](http://file4.renrendoc.com/view/3c7129c3be63c950c7dc1232d5e173f3/3c7129c3be63c950c7dc1232d5e173f31.gif)
![云存儲(chǔ)文件重命名功能_第2頁(yè)](http://file4.renrendoc.com/view/3c7129c3be63c950c7dc1232d5e173f3/3c7129c3be63c950c7dc1232d5e173f32.gif)
![云存儲(chǔ)文件重命名功能_第3頁(yè)](http://file4.renrendoc.com/view/3c7129c3be63c950c7dc1232d5e173f3/3c7129c3be63c950c7dc1232d5e173f33.gif)
![云存儲(chǔ)文件重命名功能_第4頁(yè)](http://file4.renrendoc.com/view/3c7129c3be63c950c7dc1232d5e173f3/3c7129c3be63c950c7dc1232d5e173f34.gif)
![云存儲(chǔ)文件重命名功能_第5頁(yè)](http://file4.renrendoc.com/view/3c7129c3be63c950c7dc1232d5e173f3/3c7129c3be63c950c7dc1232d5e173f35.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
云存儲(chǔ)文件重命名功能目錄技術(shù)原理實(shí)現(xiàn)步驟功能描述功能測(cè)試2技術(shù)原理3(1)視圖層:顯示文件重命名的輸入框(2)控制層:接收視圖層的消息,向服務(wù)層發(fā)送文件和文件夾重命名參數(shù),并將服務(wù)層返回的結(jié)果發(fā)送到視圖層(3)服務(wù)層:調(diào)用swift服務(wù)對(duì)文件重命名,并將結(jié)果返回給控制層功能描述4實(shí)現(xiàn)步驟5在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)步驟6在cn/edu/sict/cloud/storage/sh/SwiftDFS.java添加如下代碼public
booleanrenameDir(Stringrpath,Stringfilename){Mapmappath=getSplitPath(rpath);Stringpath=mappath.get("path").toString();Stringrootpath=mappath.get("rootPath").toString();if(!path.contains("/")){path="/"+mappath.get("path").toString();}Stringtemppath=UtilTools.replaceStr(path);Stringendstr=temppath.substring(0,temppath.length()-1);int
index=endstr.lastIndexOf("/");Stringnewpath=null;if(index!=-1){newpath=temppath.substring(0,index+1)+filename+"/";實(shí)現(xiàn)步驟7在cn/edu/sict/cloud/storage/sh/SwiftDFS.java添加如下代碼}else{newpath=filename+"/";}boolean
flag=isexist(rootpath,newpath);if(flag){rename(rootpath,path,path,newpath);renamedirfile(rootpath,path,newpath);return
flag;}return
flag;}實(shí)現(xiàn)步驟8在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)步驟9在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)步驟10在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]+"/";}}實(shí)現(xiàn)步驟11在cn/edu/sict/cloud/storage/sh/SwiftDFS.java添加如下代碼this.copy(rootpath,rootpath,path,newpath);this.delete(rootpath,path);return
true;}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];實(shí)現(xiàn)步驟12在cn/edu/sict/cloud/storage/sh/SwiftDFS.java添加如下代碼}else{strpath+=str2[i]+"/";}}this.copy(rootPath,rootPath,cpath,strpath);this.delete(rootPath,cpath);}實(shí)現(xiàn)步驟13在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;}實(shí)現(xiàn)步驟14在cn/edu/sict/cloud/storage/sh/SwiftDFS.java添加如下代碼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)步驟15在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)步驟16用戶選擇某一文件觸發(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;實(shí)現(xiàn)步驟17用戶選擇某一文件觸發(fā)單擊事件show():}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)步驟18為重命名按鈕添加單擊事件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=實(shí)現(xiàn)步驟19為重命名按鈕添加單擊事件rename(),并在js中添加如下代碼:checkbox.parentNode.parentNode.parentNode.childNodes[3].childNodes[0];renametxt.style.display="none";renamebox.style.display="block";num+=1;}else{alert('不能同時(shí)重命名兩個(gè)或兩個(gè)以上文件');location.reload();break;}}}}實(shí)現(xiàn)步驟20在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=c
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 湘教版數(shù)學(xué)九年級(jí)上冊(cè)《小結(jié)練習(xí)》聽(tīng)評(píng)課記錄4
- 部審人教版九年級(jí)數(shù)學(xué)下冊(cè)聽(tīng)評(píng)課記錄28.2.2 第2課時(shí)《利用仰俯角解直角三角形》
- 人教版歷史八年級(jí)上冊(cè)第16課《毛澤東開(kāi)辟井岡山道路》聽(tīng)課評(píng)課記錄
- 部編版八年級(jí)歷史上冊(cè)《第10課中華民國(guó)的創(chuàng)建》表格式聽(tīng)課評(píng)課記錄
- 人教版地理七年級(jí)上冊(cè)第三章第四節(jié)《世界的氣候第2課時(shí)》聽(tīng)課評(píng)課記錄
- 北師大版歷史八年級(jí)下冊(cè)第8課《艱苦創(chuàng)業(yè)年代的英雄模范》聽(tīng)課評(píng)課記錄
- 蘇教版四年級(jí)下冊(cè)數(shù)學(xué)口算練習(xí)
- 華東師大版數(shù)學(xué)八年級(jí)上冊(cè)《11.1.1 平方根》聽(tīng)評(píng)課記錄
- 大型商場(chǎng)商鋪?zhàn)赓U合同范本
- 二零二五年度舞臺(tái)搭建安全規(guī)范與責(zé)任落實(shí)協(xié)議
- 江蘇省2023年對(duì)口單招英語(yǔ)試卷及答案
- 易制毒化學(xué)品安全管理制度匯編
- GB/T 35506-2017三氟乙酸乙酯(ETFA)
- GB/T 25784-20102,4,6-三硝基苯酚(苦味酸)
- 特種設(shè)備安全監(jiān)察指令書填寫規(guī)范(特種設(shè)備安全法)參考范本
- 硬筆書法全冊(cè)教案共20課時(shí)
- 《長(zhǎng)方形的面積》-完整版課件
- PDCA降低I類切口感染發(fā)生率
- 工業(yè)企業(yè)現(xiàn)場(chǎng)監(jiān)測(cè)工況核查表
- 沉淀池及排水溝清理記錄表
- 急診急救信息化課件
評(píng)論
0/150
提交評(píng)論