usingMicrosoft.SharePoint;usingSystem;usingSystem.Collections.Generic;usingSystem.Configuration;usingSystem.Data;usingSystem.IO;usingSystem.Linq;usingSystem.Net;usingSystem.Text;usingSystem.Threading.Tasks;usingsystem.web;namespace_20150928{classProgram {Static voidMain (string[] args) { //Console.WriteLine (Httputility.htmldecode ("<div class=" Externalclass261ed404956e49d289332c8d5de50427"><p><a href="/sites /00/0001/siteassets/lists/dialogue/allitems/tcalprojectlist.xlsx"><img width=" 16" height="16" Class="ms-asset-icon ms-rteposition-4" src="/_layouts/15/images/icxlsx.png" alt="" /> tcalprojectlist.xlsx</a>? </p></div> ")); ////string str = "http://baidu.com.cn/hello%20I%27ama Apple/te%27st.txt "; ////console.writeline (str. Length); //Console.readkey (); stringMainsite = configurationmanager.appsettings["SiteURL"]; stringSiteURL = Mainsite +"sites/"+"te"+"/"+"Test"+"/"; stringListName ="Test"; stringFolderserverrelativeurl ="/test/test/"; SPFolder folder=createfolderinlist (SiteURL, ListName, Folderserverrelativeurl); Folder= Getsubfoldernewsystem (folder,"Test"); SPFolder foldernew=folder; stringstrURL ="";//Web Service Get Data stringFileName =""; Stream Stream=downloadattachment (strURL); if(Stream! =NULL{migrationfromfiletofile (foldernew, FileName, stream); } stringBodystring ="<a href="+ FolderNew.Url.Remove (0, mainsite.length) + FileName +">"+"/_layouts/15/images/icxlsx.png"+"/>"+ FileName +"</a>"; } Public StaticSPFolder Createfolderinlist (stringSiteURL,stringListName,stringFolderserverrelativeurl) {SPFolder Returnfolder=NULL; using(SPSite site =NewSPSite (siteurl))using(SPWeb Web =site. OpenWeb ()) {SPList list=web. Lists[listname]; SPFolder folder=list. RootFolder; string[] Foldernames = Folderserverrelativeurl.split ('/'); foreach(stringFolderNameinchfoldernames) { if(!string. IsNullOrEmpty (FolderName)) {BOOLExitfolder =false; if(folder. Subfolders.count >0) { foreach(SPFolder subfolderinchfolder. Subfolders) {if(SubFolder.Name.Equals (folderName)) {Exitfolder
=true; Folder=subfolder; Break; } } } if(!Exitfolder) { //フォルダー made intofolder. Subfolders.add (FolderName); Folder=folder. Subfolders[foldername]; } }} Returnfolder=folder; } returnReturnfolder; } Public StaticSPFolder Getsubfoldernewsystem (SPFolder parentfolder,stringfolderName) {SPFolder subfolder=NULL; Try{subfolder=Parentfolder.subfolders[foldername]; if(!subfolder.exists) {parentFolder.SubFolders.Add (folderName); Subfolder=Parentfolder.subfolders[foldername]; } } Catch{parentFolder.SubFolders.Add (folderName); Subfolder=Parentfolder.subfolders[foldername]; } returnsubfolder; } Public StaticStream Downloadattachment (stringstrURL) {Stream stream; Try{WebClient mywebclient=NewWebClient (); Mywebclient.credentials=NewNetworkCredential (configurationmanager.appsettings["Oldusername"], configurationmanager.appsettings["Olduserpassword"], configurationmanager.appsettings["Olddomain"]); byte[] Pagedata =Mywebclient.downloaddata (strURL); Stream=NewMemoryStream (pagedata); Mywebclient.dispose (); returnstream; } Catch(Exception ex) {return NULL; } } Public Static voidMigrationfromfiletofile (SPFolder foldernew,stringFileName, Stream stream) {SPFile subfilenew=NULL; byte[] contents =Streamtobytes (stream); if(Contents! =NULL) {subfilenew= FOLDERNEW.FILES.ADD (Foldernew.url +"/"+ FileName, Contents,true); } } Public Static byte[] streamtobytes (System.IO.Stream Stream) {intMaxSize = Int32.Parse (configurationmanager.appsettings["maxSize"]. ToString ()); using(System.IO.MemoryStream ms =NewSystem.IO.MemoryStream ()) { byte[] bytes =New byte[maxsize]; intRead; while(read = stream. Read (Bytes,0, bytes. Length)) >0) {Ms. Write (Bytes,0, read); if(Ms. ToArray (). Length >maxsize) { return NULL; } } returnMs. ToArray (); } } }}
えええ