C#把文件上传到服务器中的指定地址

一、建立连接

        public string connectFTP(string vPath, string vUID, string vPassword)
        {
            string errormsg = "";
           Process proc = new Process();
            try
            {
                proc.StartInfo.FileName = "cmd.exe";
                proc.StartInfo.UseShellExecute = false;
                proc.StartInfo.RedirectStandardInput = true;
                proc.StartInfo.RedirectStandardOutput = true;
                proc.StartInfo.RedirectStandardError = true;
                proc.StartInfo.CreateNoWindow = true;
                proc.Start();
                string dosLine = "net use " + vPath + " " + vPassword + " /user:" + vUID;
                proc.StandardInput.WriteLine(dosLine);
                proc.StandardInput.WriteLine("exit");
                while (!proc.HasExited)
                {
                    proc.WaitForExit(1000);
                }
                errormsg = proc.StandardError.ReadToEnd();
                proc.StandardError.Close();
            }
            catch (Exception ex)
            {
                //throw ex;
                //MessageBox.Show(ex.Message);
            }
            finally
            {
                proc.Close();
                proc.Dispose();
            }
            return errormsg;
        }

二、上传文件

        public void UploadFile(string vPath, string vUID, string vPassword, string vLocalPath, string file)
        {
            bool status = false;
            status = connectState(vPath, vUID, vPassword);
            if (status)
            {
                DirectoryInfo theFolder = new DirectoryInfo(vPath + "/" + file);
                string filename = vLocalPath;
                Transport(vLocalPath, vPath + "/" + file);
                //System.Diagnostics.Process.Start(vPath);
            }
            else
            {
                mesLog.Info("未能连接!");
                //MessageBox.Show("未能连接!");
            }
        }

三、连接状态

        public static bool connectState(string vPath, string vUID, string vPassword)
        {
            bool Flag = false;
            Process proc = new Process();
            try
            {
                proc.StartInfo.FileName = "cmd.exe";
                proc.StartInfo.UseShellExecute = false;
                proc.StartInfo.RedirectStandardInput = true;
                proc.StartInfo.RedirectStandardOutput = true;
                proc.StartInfo.RedirectStandardError = true;
                proc.StartInfo.CreateNoWindow = true;
                proc.Start();
                string dosLine = "net use " + vPath + " " + vPassword + " /user:" + vUID;
                proc.StandardInput.WriteLine(dosLine);
                proc.StandardInput.WriteLine("exit");
                while (!proc.HasExited)
                {
                    proc.WaitForExit(1000);
                }
                string errormsg = proc.StandardError.ReadToEnd();
                proc.StandardError.Close();
                if (string.IsNullOrEmpty(errormsg))
                {
                    Flag = true;
                }
                else
                {
                    throw new Exception(errormsg);
                }
            }
            catch (Exception ex)
            {
                //throw ex;
                //MessageBox.Show(ex.Message);
            }
            finally
            {
                proc.Close();
                proc.Dispose();
            }
            return Flag;
        }

四、传送

        public static void Transport(string src, string fileName)
        {
            FileStream inFileStream = new FileStream(src, FileMode.Open);
            FileStream outFileStream = new FileStream(fileName, FileMode.OpenOrCreate);

            byte[] buf = new byte[inFileStream.Length];
            int byteCount;

            while ((byteCount = inFileStream.Read(buf, 0, buf.Length)) > 0)
            {
                outFileStream.Write(buf, 0, byteCount);
            }

            inFileStream.Flush();
            inFileStream.Close();
            outFileStream.Flush();
            outFileStream.Close();

            File.Delete(src);
        }

到此这篇关于C#实现文件上传到服务器指定地址的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C#文件上传的简单实现

     一.分析 本次博客,主要解决文件上传等一系列问题,将从两方面来论述,即1G以内文件和1G以上文件. 对于上传1G以内的文件,可以采用基本的三种上传方法:用Web控件FileUpload.html控件HtmlInputFile和用Html元素<input type="file" id="file"/>,通过Request.Files上传. 对于1G以上的大文件,思路为: (1)协议:可采用http协议或ftp协议 (2)断点续传 (3)使用插件 (4)非

  • c# 实现文件上传下载功能的实例代码

    NuGet 安装SqlSugar 1.Model文件下新建 DbContext 类 public class DbContext { public DbContext() { Db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = "server=localhost;uid=root;pwd=woshishui;database=test", DbType = DbType.MySql, InitKeyTy

  • C#实现文件上传及文件下载功能实例代码

    废话不多说了,直接给大家贴代码了,具体代码如下所示: public ActionResult Upload() { // var pathUrl = "http://" + Request.Url.Authority; var file = Request.Files["Filedata"]; var uploadFileName = file.FileName; string filePath = "/File/" + uploadFileNa

  • C# 使用HttpClient上传文件并附带其他参数的步骤

    HttpClient和MultipartFormDataContent(传送门)最低适用于.NET Framework 4.5版本 发送端代码 using (HttpClient client = new HttpClient()) { var content = new MultipartFormDataContent(); //添加字符串参数,参数名为qq content.Add(new StringContent("123456"), "qq"); strin

  • C#实现FTP上传文件的方法

    1.通过用FTP进行上传文件,首先要实现建立FTP连接,一般建立FTP连接,需要知道FTP配置有关的信息.一般要在Bean中建立一个ServiceFileInfo.cs文件进行记录,一般需要FTP地址.登录用户名和登录密码.然后通过其他页面进行访问读取.代码样式如下: class ServiceFileInfo { // service1 public static string txtFilePath = @"ftp://12.128.128.01/FileName/"; //use

  • c# 使用WebRequest实现多文件上传

    c#中通常使用HttpWebRequest进行HTTP网络请求,HttpWebRequest只对Http请求进行了最简单的封装.如果要利用Http协议实现多文件上传,则必须使用POST方法multipart/form-data格式.为了重复使用,我封装了几个方法,实现了多参数文件上传. 添加引用 使用WebRequest需要添加引用System.Web,否则引入出错. 参数封装 方便起见,我把请求参数进行了封装,代码如下: namespace EasyHttp.Net.Core { public

  • C#简单实现文件上传功能

    最近项目上的一个上传文件功能,项目是MVC+EF+LigerUI 来做的,贴出来大家一起分享下 1.页面需要引用这个JS 和 CSS <script type="text/javascript" src="/Content/uploadify/jquery.uploadify.min.js"></script> <link href="/Content/uploadify/uploadify.css" type=&q

  • c# FTP上传文件实例代码(简易版)

    实例如下: /// <summary> /// 上传ftp服务 /// </summary> /// <param name="path">文件地址</param> /// <returns></returns> public string Upload(string path) { var client = new WebClient(); client.Credentials = new NetworkCred

  • C#文件上传与下载的实现方法

    本文实例为大家分享了C#实现文件上传与下载的具体代码,供大家参考,具体内容如下 C#实现文件上传代码: public ActionResult Upload() { // var pathUrl = "http://" + Request.Url.Authority; var file = Request.Files["Filedata"]; var uploadFileName = file.FileName; string filePath = "/F

  • C#把文件上传到服务器中的指定地址

    一.建立连接 public string connectFTP(string vPath, string vUID, string vPassword) { string errormsg = ""; Process proc = new Process(); try { proc.StartInfo.FileName = "cmd.exe"; proc.StartInfo.UseShellExecute = false; proc.StartInfo.Redire

  • PHP多个文件上传到服务器实例

    本文实例讲述了PHP多个文件上传到服务器的实现方法.对于多个文件同时上传到服务器的情况来说,我们需要使用到数组形式的参数传递及数据的遍历上传即可,具体的操作步骤分析如下: 一.实例说明 上传图片到服务器,是程序开发过程中必不可少的一个功能.它不但可以达到图片共享的目的,而且可以提高网站的访问量,丰富网站的内容.在本实例中,讲解如何通过POST方式实现多图片上传. 二.关键技术 多文件上传的关键是如何定义上传文件元素的名称及如何判断上传文件的数量.在本实例中,以数组的形式定义上传文件的名称(上传文

  • NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法

    实现多文件拖拽上传的简易Node项目,可以在github上下载,你可以先下载下来:https://github.com/Johnharvy/upLoadFiles/. 解开下载下的zip格式包,建议用webstom 运行该项目,通过app.js启动项目,如果提示找不到node.exe执行环境,请指定好你的node.exe安装位置.这里我用的express框架是3.21.2版本. 我们来简单介绍下拖拽效果是怎么实现的. 这里先看代码: <!DOCTYPE html> <html lang=

  • Java实现文件上传至服务器的方法

    在我们的web开发中,很多的时候都需要把本机的一些文件上传到web服务器上面去. 如:一个BBS系统,当用户使用这是系统的时候,能把本机的一些图片,文档上传到服务器上面去.然后其他用户可以去下载这些文件,那么这样的话,我们可以自己编程实现文件的上传 但是更好的方式是使用一些已有的组件帮助我们实现这种上传功能. 常用的上传组件: Apache 的 Commons FileUpload JavaZoom的UploadBean jspSmartUpload upload.jsp 代码: <%@ pag

  • python基于paramiko将文件上传到服务器代码实现

    python通过安装使用paramiko模块,将本地文件上传到服务器上 import paramiko import datetime import os hostname = '服务器ip' username = 'root' password = '服务器密码' port = 22#配置信息可以写到配置文件中 #loacl_file是要上传的本地文件路径 #remote_path是要上传到服务器上指定文件的路径 def upload(local_file, remote_path): try

  • elementui+vue+axios实现文件上传本地服务器

    本文实例为大家分享了elementui+vue+axios实现文件上传本地服务器的具体代码,供大家参考,具体内容如下 文件上传的原理 加入文件上传的依赖 <!--文件上传的依赖-->     <dependency>       <groupId>commons-fileupload</groupId>       <artifactId>commons-fileupload</artifactId>       <versio

  • Java实现文件上传到服务器本地并通过url访问的方法步骤

    目录 一.场景 二.SpringBoot默认静态资源访问方式 三.上传的文件应该存储在哪?怎么访问? 1.文件存储在哪? 2.怎么访问? 四.测试 五.总结 一.场景 Java实现文件上传到服务器本地,并通过url访问 有个需求,前端上传文件,需要用开关的方式同时支持上传七牛和服务器本地,方便不同的用户需求合理分配资源.本篇主要介绍文件上传到本地,然后通过url访问. 二.SpringBoot默认静态资源访问方式 首先想到的就是可以通过SpringBoot通常访问静态资源的方式,当访问:项目根路

  • 基于HTML5+js+Java实现单文件文件上传到服务器功能

    上传单文件到服务器       应公司要求,在HTML5页面上实现上传文件到服务器,对于一个还没毕业的实习生菜鸟来说,这可不得了-----不会,网上各种百度,找各种博客还是没解决,最后还是请教了公司的大神,人家给卸了一个例子,然后根据人家写的终于把这个上传文件搞定. 好了,开始上代码. HTML5代码: <form name="upform" action="" method="POST"> <input type ="

  • asp将本地的文件上传到服务器

    今天我们讲解如何利用asp的上传功能将本地的文件上传到服务器上. 最简系统包括下面三个文件: upload.htm                         --上传口文件,选择本地文件 uploadimg.asp                  --上传程序控制文件 upload_5xsoft.inc            --无组件上传类,此文件初学者不用学习,只要会用就可以了 upload.htm内容----上传口文件,选择本地文件 <html> <head> <

  • JSP+Servlet实现文件上传到服务器功能

    本文实例为大家分享了JSP+Servlet实现文件上传到服务器功能的具体代码,供大家参考,具体内容如下 项目目录结构大致如下: 正如我在上图红线画的三个东西:Dao.service.servlet 这三层是主要的结构,类似 MVC 架构,Dao是模型实体类(逻辑层),service是服务层,servlet是视图层,三者协作共同完成项目. 这里的User是由user表来定义的一个类,再封装增删改查等操作,实现从数据库查询与插入,修改与删除等操作,并实现了分页操作,也实现了将图片放到服务器上运行的效

随机推荐