Drag file from device and copy to local hard disk drive using .NET -


i'm using code capture dragged files form , copy them specific folder (i have left copy process out, i'm using - filesystem.copydirectory(copyfiledetails.dir.fullname, copyfiledetails.target, uioption.alldialogs); , filesystem.copyfile(file, newfilename, uioption.alldialogs);

this.dragenter += new drageventhandler(form1_dragenter); this.dragdrop += new drageventhandler(form1_dragdrop);  private void form1_dragenter(object sender, drageventargs e) {     //string action = e.data.tostring();     if (e.data.getdatapresent(dataformats.filedrop))         e.effect = dragdropeffects.copy;     else if (e.data.getdatapresent("filegroupdescriptorw"))     {         system.io.memorystream info = e.data.getdata("filegroupdescriptor") system.io.memorystream;         system.io.memorystream content = e.data.getdata("filegroupdescriptorw") system.io.memorystream;         e.effect = dragdropeffects.copy;      } }  private void form1_dragdrop(object sender, drageventargs e) {     if (e.data.getdatapresent(dataformats.filedrop))     {         string[] files = (string[])e.data.getdata(dataformats.filedrop);     }     else if (e.data.getdatapresent("filegroupdescriptorw"))     {         system.io.memorystream info = e.data.getdata("filegroupdescriptor") system.io.memorystream;         system.io.memorystream content = e.data.getdata("filegroupdescriptorw") system.io.memorystream;         clipboardmemorystream = (memorystream)e.data.getdata("filegroupdescriptorw", true);         bytearray = clipboardmemorystream.toarray();          // todo: read data stream     } } 

now when drag file form i'm getting file names (string[] files) , have no problem copy hard disk drive.

but when dragging file device (say camera) i'm getting filestream don't know how can turn file same name original one. , need support large files , folders.

how implement this?

try following code read filename filegroupdescriptor:

dim iostream system.io.stream = directcast(e.data.getdata("filegroupdescriptor"), system.io.stream) dim contents byte() = new [byte](511) {} iostream.read(contents, 0, 512) iostream.close() dim sb new system.text.stringbuilder() dim integer = 76 while contents(i) <> 0     sb.append(cchar(chrw(contents(i))))     += 1 end while  filename = sb.tostring() 

Comments

Popular posts from this blog

django - How can I change user group without delete record -

java - Need to add SOAP security token -

java - EclipseLink JPA Object is not a known entity type -