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 ...
随机推荐
- python自然语言处理函数库nltk从入门到精通
1. 关于Python安装的补充 若在ubuntu系统中同时安装了Python2和python3,则输入python或python2命令打开python2.x版本的控制台:输入python3命令打开p ...
- codeforces604B
More Cowbell CodeForces - 604B Kevin Sun wants to move his precious collection of n cowbells from Na ...
- BZOJ1497[NOI2006]最大获利——最大权闭合子图
题目描述 新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战.THU集团旗下的CS&T通讯公司在新一代通讯技术血战的前夜,需要做太多的准备工作,仅就站址选择一项,就需要完成 ...
- MT【238】内心轨迹
已知$F_1,F_2$为椭圆$C:\dfrac{x^2}{4}+\dfrac{y^2}{3}=1$的左右焦点,点$P$在椭圆$C$上移动时,$\Delta{F_1PF_2}$的内心$I$的轨迹方程为_ ...
- debian 系统安装配置apache
安装sshapt-get install ssh-server (安装失败请插入镜像)service ssh start Apache 服务安装apt-get install apache2 apa ...
- [USACO 2018 Open Contest]作业总结
t1-Out of Sorts 题目大意 将最大的数冒泡排序到最后需要多少次操作. 分析 排序后判断距离. ac代码 #include<bits/stdc++.h> #define N 1 ...
- [hgoi#2019/2/16t4]transform
题目描述 植物学家Dustar培养出了一棵神奇的树,这棵有根树有n个节点,每个节点上都有一个数字a[i],而且这棵树的根为r节点. 这棵树非常神奇,可以随意转换根的位置,上一秒钟它的根是x节点,下一秒 ...
- SharePoint 2013 event id 8321 错误
SharePoint 2013里会报8321的错误: A certificate validation operation took 15011.1412 milliseconds and has e ...
- Selenium之WebDriver元素定位方法
Selenium WebDriver 只是 Python 的一个第三方框架, 和 Djangoweb 开发框架属于一个性质. webdriver 提供了八种元素定位方法,python语言中也有对应的方 ...
- Django + Uwsgi +Nginx生产环境部署
python manage.py runserver 0.0.0.0:80 ,一定不要用这个轻量级Server作为你的生产环境下的Server,因为它只能用于开发自测阶段.它既没有安全审计功能,而且又 ...