void Upload() { try { ShowProgress(true); foreach (ListViewItem lvItem in lvDragItem) { if (nfsClient.FileExists(nfsClient.Combine(lvItem.Text, RemoteFolder))) { if (MessageBox.Show("Do you want to overwrite " + lvItem.Text + "?", "NFSClient", MessageBoxButtons.YesNo) == DialogResult.Yes) { nfsClient.DeleteFile(nfsClient.Combine(lvItem.Text, RemoteFolder)); } else { continue; } } CurrentItem = lvItem.Text; CurrentSize = long.Parse(lvItem.SubItems[1].Text); _lTotal = 0; string SourceName = System.IO.Path.Combine(LocalFolder, CurrentItem); nfsClient.Write(nfsClient.Combine(CurrentItem, RemoteFolder), SourceName); } ShowProgress(false); } catch (ThreadAbortException) { } catch (Exception ex) { MessageBox.Show(ex.ToString(), "NFS Client"); ShowProgress(false); } }
public int WriteFile(string filename, byte[] buffer, ref uint writtenBytes, long offset, DokanFileInfo info) { int ret = DokanNet.DOKAN_SUCCESS; filename = CleanFileName(filename); try { Debug("WriteFile {0}", filename); string Directory = nfsClient.GetDirectoryName(filename); string FileName = nfsClient.GetFileName(filename); string FullPath = nfsClient.Combine(FileName, Directory); Debug("WriteFile {0} {1} {2} {3}", Directory, FileName, offset, buffer.Length); UInt32 Bytes = 0; nfsClient.Write(FullPath, (long)offset, (uint)buffer.Length, buffer, out Bytes); if (Bytes != 0) { writtenBytes = (uint)Bytes; Debug("WriteFile bytes {0}", writtenBytes); } } catch (Exception ex) { ret = DokanNet.DOKAN_ERROR; Debug("WriteFile file {0} exception {1}", filename, ex.Message); } return(ret); }