c/s 给 服务器上传文件(c/s和b/s互传文件)
//c/s 代码
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.InitialDirectory = "c:\\";//注意这里写路径时要用c:\\而不是c:\
openFileDialog.Filter = "所有文件|*.*|word|*.doc|word|*.docx|Excel|*.xlsx|Excel|*.xls|图片pdf|*.pdf|图片png|*.png";
// openFileDialog.RestoreDirectory = true;
openFileDialog.FilterIndex = 1;
DataSet ds = new DataSet();
try
{
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
FileInfo files = new FileInfo(openFileDialog.FileName);
if (Config.Ext.Contains(files.Extension) == false)
{
MessageBox.Show("不允许上传此类型的文件");
return;
}
// 获得文件大小KB为单位
fileLength = Convert.ToInt32( files.Length /1024);
Cursor.Current = Cursors.WaitCursor;
WebClient webClient = new WebClient();
string name = openFileDialog.SafeFileName;
string nametemp = openFileDialog.SafeFileName;
AttachmentBLL AttachmentBLL = new BLL.AttachmentBLL();
if (AttachmentBLL.CheckName(name))
{
name = DateTime.Now.ToString("yyyyMMddHHmmss") + name;
}
string uploadpath = Config.uploadpath;
string path = uploadpath + name;
string file = openFileDialog.FileName;
int len = 1024;
byte[] ty = new byte[len];
ty = webClient.UploadFile(path, "post", file);// path=http://i.cnblogs.com/MyHandler.ashx?name="文件名称"
Tempclass temp = new Tempclass();
string attachmentpath = Config.attachmentpath;
string url = Config.path + name;
temp.Id = AttachmentBLL.AddAttachment(url, openFileDialog.SafeFileName,fileLength);
temp.Nane = openFileDialog.SafeFileName;
infolist.Add(temp);
listannex.DataSource = null;
listannex.DataSource = infolist;
listannex.DisplayMember = "Nane";
listannex.ValueMember = "Id";
listannex.ClearSelected();
filename = filename + nametemp + "; ";
Cursor.Current = Cursors.Default;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
//一般处理处理程序中的代码
/// <summary>
/// MyHandler 的摘要说明
/// </summary>
public class MyHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
HttpPostedFile imgPostFile = context.Request.Files[0]; //一直为null
string name = context.Request["name"];
string path = System.Configuration.ConfigurationManager.AppSettings["path"].ToString(); //保存服务器的地址 C:\\dbi\\WebService\\attachment\\
imgPostFile.SaveAs(path + name);
}
public bool IsReusable
{
get
{
return false;
}
}
}
c/s 给 服务器上传文件(c/s和b/s互传文件)的更多相关文章
- 用java 代码下载Samba服务器上的文件到本地目录以及上传本地文件到Samba服务器
引入: 在我们昨天架设好了Samba服务器上并且创建了一个 Samba 账户后,我们就迫不及待的想用JAVA去操作Samba服务器了,我们找到了一个框架叫 jcifs,可以高效的完成我们工作. 实践: ...
- Java如何检查文件是否在服务器上被修改了?
在Java编程中,如何检查文件是否在服务器上被修改了? 以下示例显示如何检查文件是否在服务器上进行了修改. package com.yiibai; import java.net.URL; impor ...
- 如何将Java Web项目部署到服务器上
转自:(此处更详细)http://blog.csdn.net/gulu_gulu_jp/article/details/50994003 一.前言 前面我们已经尝过了在云服务器上部署代码的甜头了,现在 ...
- Log4net日志发布到服务器上日志无法写入
log4net在本地执行时候,日志正常写入,但是发布到服务器上的时候,日志就无法正常写入 解决方案: 1.文件权限 在发布到服务器上的时候,可能文件没有写入权限,导致日志无法正常写入 打开IIS 找到 ...
- 使用批处理文件在FTP服务器 上传下载文件
1.从ftp服务器根目录文件夹下的文件到指定的文件夹下 格式:ftp -s:[配置文件] [ftp地址] 如:ftp -s:c:\vc\ftpconfig.txt 192.168.1.1 建立一个 ...
- Android上传文件至服务器(上)
每一次都不能上首页,真悲催..管理员让我上一次首页? 很多时候我更愿意一个人写代码,与其在垃圾代码上改改改,我更愿意直接重构. 整洁的代码简单直接.整洁的代码如同优美的散文.整洁的代码从不隐藏设计者的 ...
- .NET文件跨服务器上传下载
环境说明:两台服务器服务器为A,服务器为B,服务器B为文件服务器 1.在A和B上创建用户docshareuser,用户名和密码保持一致 2.B服务器上设置附件文件夹Attachments共享,添加用户 ...
- 测试必备技能系列4:如何用SSH向linux服务器上传下载文件
通过ssh方式,向远程服务器上传文件 非常方便 直接看老徐之前的文章http://www.51testing.com/?uid-497177-action-viewspace-itemid-37054 ...
- ASP.NET跨服务器上传文件的相关解决方案
第一种:通过FTP来上传文件 首先,在另外一台服务器上设置好FTP服务,并创建好允许上传的用户和密码,然后,在ASP.NET里就可以直接将文件上传到这台 FTP 服务器上了.代码如下: <%@ ...
- java 通过sftp服务器上传下载删除文件
最近做了一个sftp服务器文件下载的功能,mark一下: 首先是一个SftpClientUtil 类,封装了对sftp服务器文件上传.下载.删除的方法 import java.io.File; imp ...
随机推荐
- SQL连接:内连接、外连接、交叉连接。
SQL连接可以分为内连接.外连接.交叉连接. 数据库数据: book表 stu表 1.内连接 ...
- s-axis-config-tdata
- 解决操作WordPress时提示输入FTP信息
WordPress安装个插件,提示输入FTP信息. 出现这个的问题就是Nginx的执行身份非文件属主身份. 解决方法: 假设你的wordpress安装目录为/data/wwwroot/default/ ...
- FieldGroup绑定的日期类型存储格式的问题
问题 日期存储的时候,当前数据库中存储格式为 "2017-9-5 0:00:00", 而我实现了以后,看到数据库的存储格式为 "Mon Sep 04 00:00:00 C ...
- Leetcode 190.颠倒二进制位 By Python
颠倒给定的 32 位无符号整数的二进制位. 示例: 输入: 43261596 输出: 964176192 解释: 43261596 的二进制表示形式为 000000101001010000011110 ...
- #define用法之一
[问题由来] 多文件工程中,A文件要使用B文件的func1函数,只要在A文件中include “B.h”即可: 但A文件中使用的是func2函数,它与func1函数功能一样,只是名字不同而已,即fun ...
- 【洛谷P1858】多人背包
题目大意:求解 0-1 背包前 K 优解的和. 题解:首先,可知对于状态 \(dp[j]\) 来说,能够转移到该状态的只有 \(dp[j],dp[j-w[i]]\).对于 K 优解来说,只需对状态额外 ...
- 多线程状态下调用SimpleDateFormat.format()抛出 ArrayIndexOutOfBoundsException 异常
本来想在类的顶部设置一个 静态的SimpleDateFormat常量 public final static DateFormat dateFormatGMT = new SimpleDateForm ...
- MySQL的1067错误解决方法
今天在学校的时候MySQL还运行的好好的,关机来公司后MySQL一直报错,错误为1067,网上找了好多办法,但是大都没效果,因此对这个错误做个总结: 打开你的安装目录下,查看my.ini文件中MySQ ...
- 外显子分析弹错解决方案:Exception in thread "main" picard.PicardException: New reference sequence does not contain a matching contig for NC_007605
最近从公共数据库下载了一堆bam文件和reference 基因组文件,重新分析外显子流程时,跑出了“Exception in thread "main" picard.Picard ...