博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
winform采用POST上传指定文件,并获取返回值
阅读量:5264 次
发布时间:2019-06-14

本文共 1930 字,大约阅读时间需要 6 分钟。

      由于最近有个项目需要批量上传到服务器,并以一定的规则过滤上传数据。故做了个C#小程序来实现。该方法也是借鉴了网上的方法,并精简了代码。废话少说,来看代码。

      Web端代码

ExpandedBlockStart.gif
代码
 1 
public
 
partial
 
class
 transform : System.Web.UI.Page
 2 
{
 3 
    
string
 path 
=
 
"
E:\\test\\uploadfi
"
;
 4 
    
protected
 
void
 Page_Load(
object
 sender, EventArgs e)
 5 
    {
 6 
      
 7 
        
if
 (
!
string
.IsNullOrEmpty(Request[
"
fileName
"
]))
 8 
        {
 9 
           Response.Write(UploadFileWithString(Request[
"
fileName
"
], Request.InputStream));
10 
            
//
Response输出返回值
11 
            
12 
        }
13 
    }
14 
15 
16 
    
protected
 
string
 UploadFileWithString(
string
 fileName,Stream streams)
17 
    {
18 
        
19 
         
byte
[] b 
=
 
new
 
byte
[Convert.ToInt32( streams.Length)];
20 
         streams.Read(b, 
0
, Convert.ToInt32(streams.Length));
21 
        
22 
        
string
 creatpath 
=
 path 
+
 
"
\\sh
"
;
23 
        MemoryStream ms 
=
 
new
 MemoryStream(b);          
24 
         
if
 (
!
Directory.Exists(creatpath))
25 
            Directory.CreateDirectory(creatpath);
26 
        
try
27 
        {
28 
            FileStream fs 
=
 
new
 FileStream(creatpath 
+
 
"
\\
"
 
+
 fileName, FileMode.Create);
29 
            ms.WriteTo(fs);
30 
            ms.Close();
31 
            fs.Close();
32 
            
return
 
"
1
"
;
33 
        }
34 
        
catch
35 
        {
36 
            
return
 
"
0
"
;
37 
        }
38 
    }

 

 

      winform端代码

    

ExpandedBlockStart.gif
代码
 1 
 
private
 
void
 button2_Click(
object
 sender, EventArgs e)
 2 
        {
 3 
            
 4 
            
if
 (openFileDialog1.ShowDialog() 
==
 DialogResult.OK)
 5 
                label2.Text 
=
 openFileDialog1.FileName;
 6 
            FileInfo f 
=
 
new
 FileInfo(openFileDialog1.FileName);
 7 
            WebUpload(openFileDialog1.SafeFileName, f);
 8 
         
 9 
        }
10 
 
protected
 
void
 WebUpload(
string
 fileName, FileInfo f)
11 
        {
12 
            WebClient webc 
=
 
new
 WebClient();
13 
            FileStream fs 
=
 
new
 FileStream(f.FullName, FileMode.Open, FileAccess.Read);
14 
            
byte
[] byteString
=
new
 
byte
[f.Length];
15 
            fs.Read(byteString, 
0
,Convert.ToInt32(f.Length));
16 
            fs.Close();
17 
            
18 
            
byte
[] returnVal 
=
 webc.UploadData(
"
http://localhost/sz/transform.aspx?fileName=
"
+
HttpUtility.UrlEncode(fileName,Encoding.GetEncoding(
"
gb2312
"
)), 
"
post
"
,byteString);
19 
            
20 
            MessageBox.Show(Encoding.GetEncoding(
"
gb2312
"
).GetString(returnVal));
//
返回值
21 
            
22 
        }

 

    

     

转载于:https://www.cnblogs.com/wishbay/archive/2011/02/15/1954941.html

你可能感兴趣的文章
bugku 变量
查看>>
Python 环境傻瓜式搭建 :Anaconda概述
查看>>
数据库01 /Mysql初识以及基本命令操作
查看>>
数据库02 /MySQL基础数据类型以及多表之间建立联系
查看>>
Python并发编程04/多线程
查看>>
CF461B Appleman and Tree
查看>>
CF219D Choosing Capital for Treeland
查看>>
杂七杂八的小笔记本
查看>>
51Nod1353 树
查看>>
CF1215E Marbles
查看>>
.net Core 图片验证码 基于SkiaSharp实现
查看>>
fish redux 个人理解
查看>>
java 笔记一些
查看>>
BZOJ2339 HNOI2011卡农(动态规划+组合数学)
查看>>
octave基本操作
查看>>
排球计分程序重构(一)
查看>>
axure学习点
查看>>
WPF文本框只允许输入数字[转]
查看>>
dom4j 通用解析器,解析成List<Map<String,Object>>
查看>>
第一个项目--用bootstrap实现美工设计的首页
查看>>