///

/// WebClient上传文件至服务器

///

/// 文件名,全路径格式

/// 服务器文件夹路径

///

public bool Upload(string localFilePath, out string folderName,string newFileName)

{

//先创建文件夹

folderName = "";

try

{

Guid guid = Guid.NewGuid();

folderName = guid.ToString();

string diskPath = DAL.DataBaseOperator.GetValueFromApplictionConfig("diskPath");

if (!diskPath.EndsWith("/") && !diskPath.EndsWith(@"\"))

{

diskPath = diskPath + "/";

}

diskPath += folderName;

if (!Directory.Exists(diskPath))

{

//服务器创建文件夹

Directory.CreateDirectory(diskPath);

}

//再上传数据

string serverFolder = DAL.DataBaseOperator.GetValueFromApplictionConfig("uploadPath");

if (!serverFolder.EndsWith("/") && !serverFolder.EndsWith(@"\"))

{

serverFolder = serverFolder + "/";

}

string uriString = serverFolder + folderName + "/" + newFileName;

/// 创建WebClient实例

WebClient myWebClient = new WebClient();

myWebClient.Credentials = CredentialCache.DefaultCredentials;

// 要上传的文件

FileStream fs = new FileStream(newFileName, FileMode.Open, FileAccess.Read);

//判断文件大小

string strFileSize = DAL.DataBaseOperator.GetValueFromApplictionConfig("fileSize");

int fileSize = Convert.ToInt32(strFileSize) * 1024 * 1024;

if (fs.Length > fileSize)

{

MessageBox.Show("您上传的附件不能超过 " + strFileSize + "M");

return false;

}

BinaryReader r = new BinaryReader(fs);

//使用UploadFile方法可以用下面的格式

myWebClient.UploadFile(uriString,"PUT",localFilePath);

byte[] postArray = r.ReadBytes((int)fs.Length);

Stream postStream = myWebClient.OpenWrite(uriString, "PUT");

if (postStream.CanWrite)

{

postStream.Write(postArray, 0, postArray.Length);

}

else

{

MessageBox.Show("文件目前不可写!");

}

Application.DoEvents();

postStream.Close();

}

catch(Exception err)

{

//MessageBox.Show("文件上传失败,请稍候重试~");

DAL.Log.FileLogSys.FileLog.WriteLog(err.Message + err.StackTrace);

return false;

}

return true;

}

c winform 上传文件到mysql_WinForm上传文件至服务器相关推荐

  1. 模拟文件上传(一):手动文件上传

    关于上传文件,首先我的第一个案例是一个文本文件的上传,简单容易上手! 首先我们上传文件肯定就属于实体内容部分了:所以不能过GET方式请求了,要通过POST方式请求: 因为: 1.get方式是URL传值 ...

  2. html web上传文件原理,Web上传文件的原理及实现

    本文为原创,如需转载,请注明作者和出处,谢谢! 现在有很多Web程序都有上传功能,实现上传功能的组件或框架也很多,如基于java的Commons FileUpload.还有Struts1.x和Stru ...

  3. vb打开ftp服务器文件路径,VB上传指定文件到FTP指定目录。。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 目前用如下代码能够实现上传,但是不能上传到指定目录去..怎么改变? Option Explicit Private Const INTERNET_OPEN ...

  4. git 忽略指定文件夹的上传

    我们在使用 git 开发的时候,有些插件的模块文件通过npm install 就可以下载,一般是不上传到 git 中的(因为文件太多会导致很耗时),例如 我的 node_modules 文件夹,不想上 ...

  5. php webuploader大文件,web uploader 上传大文件总结

    由于业务需要,需要上传大文件,已有的版本无法处理IE版本,经过调研,百度的 webuploader 支持 IE 浏览器,而且支持计算MD5值,进而可以实现秒传的功能. 大文件上传主要分为三部分,预上传 ...

  6. php 上传乱码_如何解决php文件上传中文乱码问题

    php文件上传中文乱码的解决办法:首先打开相应的PHP文件:然后通过"iconv("UTF-8", "gbk",$name)"方法对文件名进 ...

  7. uedit修改文件上传路劲,支持api文件接口

    首先修改一个东西ueditor/ueditor.config.js serverUrl: URL + "php/controller.php" 原来serverUrl: " ...

  8. js 获取input type=file 文件,并且上传

    html页面: <input type="file" class="inputPic" allowexts="gif,jpeg,jpg,png, ...

  9. c#如何通过ftp上传文件_定时上传文件到ftp,2步完成Windows系统定时上传文件到ftp...

    FTP能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样.但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间,会非常长:并且不时的必须执行一些冗长的登 ...

最新文章

  1. ❤️手撕这十道HiveSQL题还不能吊打面试官,却能保你不被吊打❤️【推荐收藏】
  2. Android项目实战(四):ViewPager切换动画(3.0版本以上有效果)
  3. MathJax 支持的 Latex 符号总结(各种数学字体)
  4. 华为云占用443端口_关于XAMPP默认端口80和443被占用的问题
  5. js实现的tooltip简单小组件
  6. Windows Phone 7 定义和使用字典资源(ResourceDictionary)
  7. oracle判断是否包含字符串的方法
  8. #include,#import ,@class 有什么区别?
  9. 可以记录阅读进度的 pdf 电脑阅读器
  10. 【Oracle】三种方式查看SQL语句的执行计划
  11. python3解密栅栏密码的正确方法
  12. Android 使用listview实现树形结构
  13. 易基因|动物发育过程中顺式调控区域的活性DNA去甲基化早于脊椎动物起源:重磅研究
  14. web项目034-----JS模版引擎
  15. c语言实现string sds,redis学习 - sds字符串
  16. kibana远端访问配置
  17. 线束音视频传输连接器FAKRA与HSD区别?
  18. 利用Sobel算子,求梯度图像
  19. 科学家即将揭示人类大脑神经网络结构的奥秘
  20. 【Linux从青铜到王者】第二十三篇:Linux网络基础第四篇之kcp协议

热门文章

  1. hbase-site.xml 和 hbase-default.xml
  2. HDU1011 Starship Troopers(树形dp)
  3. C/C++ 语言中的表达式求值
  4. cdoj844-程序设计竞赛 (线段树的区间最大连续和)【线段树】
  5. [图示]做人36字诀:二)形象塑造 ——教你品格高雅
  6. 前端基础1:HTML常用标签
  7. 【Python3 爬虫】03_urllib.error异常处理
  8. CentOS 5.10安装Oracle 11G R2
  9. 第二篇、通过蓝牙连接外设
  10. 挖掘协同的力量 大OA前景广阔