`

web服务中实现文件的上传

阅读更多

 

最近工作原因要用vs2003来开发Pocket PC方面的软件.

由于项目需要放弃了项目初期拟定的用asp.net移动WEB应用程序的开发方式,而改用智能设备应用程序来开发产品.

其实智能设备应用程序开发与桌面应用程序非常类似,也是一种win窗体开发.

该项目为了保持Pocket PC中的数据和远程服务器的数据保持一致,用到了web服务技术.

其中涉及一个图片上传功能的实现,就是把手机拍摄的图片及时发送到远程服务器.

 

让我们先建立一个WEB服务SmartDeviceMobileReportWebService

在其中定义一个方法UploadFile负责接收上传的图片,代码如下:

 1        /**//// <summary>
 2        /// 上传文件
 3        /// </summary>
 4        /// <param name="fs">文件的字节数组</param>
 5        /// <param name="FileName">文件名称</param>
 6        /// <param name="content">说明</param>
 7        /// <returns>是否文件上载成功</returns>

 8        [WebMethod(Description="提供文件上传的方法,返回文件是否上载成功")]
 9        public bool UploadFile(byte[] b,string FileName)
10        {
11            try
12            {
13                //定义并实例化一个内存流,以存放提交上来的字节数组。
14                MemoryStream memoryStream = new MemoryStream(b);
15
16                //文件存放目录
17                string dir=@"d:\pic\";
18
19                //判断文件存放目录是否存在
20                if (  !Directory.Exists(dir) )
21                {
22                    return false;
23                }

24
25                //定义实际文件对象,保存上载的文件。
26                string fileName =  dir + FileName;
27
28                //创建文件流,要是上载的文件存在就覆盖
29                FileStream fileStream = new FileStream(fileName, FileMode.Create);
30
31                //把内内存里的数据写入文件流
32                memoryStream.WriteTo(fileStream);
33
34                //关闭流文件
35                memoryStream.Close();
36                fileStream.Close();
37                
38                fileStream = null;
39                memoryStream = null;
40                
41                return true;
42            }

43            catch( Exception ex )
44            {
45                string s=ex.Message;
46                return false;
47            }

48        }


 

再到我的Pocket PC客户端

先引用web服务http://10.10.10.191/SmartDeviceMobileReportWebService/ReportWebService.asmx并命名为ReportWebService

编写上传按钮事件

 1//上传按钮事件
 2        private void uploadbutton_Click(object sender, System.EventArgs e)
 3        {
 4            //要上传的文件
 5            string fileFullName=this.fileMsglabel.Text;
 6            
 7            if ( !File.Exists(fileFullName) )
 8            {
 9                MessageBox.Show("请选择图片");
10                return;
11            }

12
13            int i=fileFullName.LastIndexOf("\\");
14            
15            Cursor.Current=Cursors.WaitCursor;
16
17            try
18            {
19                //调用WEB服务
20                ReportWebService.ReportWebService r=new ReportWebService.ReportWebService();
21            
22                //要上传的文件名
23                string fileName=fileFullName.Substring(i+1);
24            
25                //创建文件的实例
26                FileInfo f=new FileInfo(fileFullName);
27            
28                //创建只读 FileStream
29                FileStream  fileStream = f.OpenRead() ;
30                
31                byte[] byteArray= new byte[f.Length];
32                    
33                //从流中读取字节并将该数据写入给定数组中
34                fileStream.Read(byteArray,0,Convert.ToInt32( f.Length ));
35
36                //开始调用web服务器上的公用方法
37                if ( !r.UploadFile(byteArray,fileName) )
38                {
39                    MessageBox.Show("数据上传失败!");
40                }

41                else
42                {
43                    MessageBox.Show("数据上传成功!");
44                                    }

45
46                //关闭流文件
47                fileStream.Close();
48                fileStream=null;
49
50            }

51            catch
52            {
53                MessageBox.Show("数据上传失败!");
54            }

55            finally
56            {
57                Cursor.Current=Cursors.Default;
58            }
    
59        }

图片效果如下:



选择文件



上传数据成功

分享到:
评论

相关推荐

    c++实现向web服务器上传文件

    在IT行业中,网络通信是不可或缺的一部分,特别是在客户端与服务器之间的数据...而在Java Web环境中,Servlet提供了一种处理文件上传的标准方式。理解这些原理和操作,对于开发涉及客户端与服务器交互的应用至关重要。

    .NET webapi实现文件上传功能

    本文将深入探讨如何在WebAPI中实现文件上传功能,并介绍如何在MVC应用程序中调用这个API。 一、WebAPI中的文件上传 1. **配置路由**:首先,我们需要在WebAPI的`WebApiConfig.cs`文件中设置允许接收多部分/表单...

    delphi 上传文件至web服务器

    总结一下,Delphi中实现文件上传至Web服务器的关键点包括: 1. 选择合适的网络组件,如Indy或WinInet。 2. 编写Pascal代码来构建HTTP POST请求,使用TMemoryStream加载文件内容。 3. 设置HTTP请求头,如Content-Type...

    Webservices 实现文件上传

    在本场景中,Web服务被用来实现文件上传功能,允许客户端(WinForm程序)将文件发送到服务器进行处理或存储。以下是对这个技术实现的详细解释: 1. **Web服务(Webservices)**:Web服务是通过统一描述、发现和集成...

    .net core WebApi 文件上传服务文件下载

    在.NET Core WebAPI中,构建一个支持文件上传和下载的服务是一项常见的需求。这涉及到处理HTTP请求,存储文件,以及提供安全的文件访问机制。本文将深入探讨如何在.NET Core WebAPI项目中实现这一功能。 首先,我们...

    goahead公司的web服务器源代码中关于文件上传的补丁代码

    该源码包是goahead公司的web服务器源代码中关于文件上传的补丁代码。如果使用goAhead作为嵌入式web服务器,并要实现文件上传功能,则需要打该补丁。本人利用该补丁源码在goAhead-2.5版本中实现了文件上传功能。

    调用WebApi接口上传文件

    本篇将详细讲解如何在.NET MVC应用中调用WebApi接口实现文件上传。 首先,让我们了解.NET MVC和WebApi的基本概念。MVC(Model-View-Controller)是一种设计模式,用于构建可维护、可扩展的Web应用程序。它将业务...

    python web开发,基于flask的练手项目-文件上传下载的管理系统的设计与实现

    python web开发,基于flask的练手项目---文件上传下载的管理系统的设计与实现python web开发,基于flask的练手项目---文件上传下载的管理系统的设计与实现python web开发,基于flask的练手项目---文件上传下载的管理...

    C#webapi文件上传下载源码

    在这个场景下,"C# WebAPI文件上传下载源码"指的是使用C#编写的一套实现文件上传和下载功能的WebAPI服务代码。 文件上传功能是Web应用中的常见需求,允许用户将本地文件传输到服务器。在C# WebAPI中,这通常通过...

    ASP.NET Web API 接收文件上传

    本文将深入探讨如何在ASP.NET Web API中实现文件上传功能,并涉及MIME多部分类型。 首先,让我们了解MIME(Multipurpose Internet Mail Extensions)多部分类型。MIME是一种标准,用于定义电子邮件和其他网络传输的...

    在Web API中使用jQuery AJAX实现文件上传的例子

    本教程将详细介绍如何在ASP.NET Web API中结合jQuery的AJAX方法实现文件上传。 首先,我们需要在客户端创建一个HTML表单,用于用户选择要上传的文件。HTML表单通常包含一个`&lt;input type="file"&gt;`元素,用户可以通过...

    Webapi 文件上传

    在本篇文章中,我们将深入探讨如何在WebAPI中实现文件上传,以及涉及的关键知识点。 首先,我们需要创建一个WebAPI控制器,该控制器将处理文件上传请求。控制器通常包含一个或多个公共方法,每个方法对应一个HTTP...

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

    本文实例为大家分享了JSP+Servlet实现文件上传到服务器功能的具体代码,供大家参考,具体内容如下 项目目录结构大致如下: 正如我在上图红线画的三个东西:Dao、service、servlet 这三层是主要的结构,类似 MVC ...

    webupload上传与下载文件,web实现文件上传下载,Java

    在IT行业中,文件上传和下载是Web应用中的常见功能,特别是在大数据时代,大文件的断点续传技术显得尤为重要。本教程将详细讲解如何利用WebUploader、SpringBoot和MySQL实现一个支持断点续传功能的文件上传下载系统...

    ASP.NET WebAPI 实现文件上传下载缩略图访问

    在本场景中,我们将探讨如何利用ASP.NET WebAPI来实现文件的上传、下载以及图片的缩略图访问。 一、文件上传: 在ASP.NET WebAPI中,文件上传通常通过HttpPostedFileBase对象来处理。开发者需要创建一个API控制器...

    Web 开发实现文件上传功能

    在Web开发中,实现文件上传功能是常见的需求,特别是在构建交互性强、用户参与度高的网站时。本篇文章将深入探讨如何在不同的Web框架下实现这一功能,并提供一个名为"smartUpload"的工具作为示例。 文件上传是允许...

    JSP实现文件上传与下载.pdf

    "JSP实现文件上传与下载" JSP(Java Server Pages)是一种动态网页技术,用于开发基于Web的应用程序。JSP技术可以和其他Java技术集成,实现复杂的Web应用程序。下面是JSP实现文件上传与下载的知识点总结: 一、JSP...

    VFP上传文件到web服务器

    在本文中,我们将深入探讨如何使用Visual FoxPro(VFP)将文件上传到Web服务器,主要涉及的技术包括XMLHTTP和XMLDOM。这两种技术是VFP与Web服务交互的重要工具,让我们一起详细了解它们。 1. Visual FoxPro(VFP)...

    使用HTTP上传文件到WEB服务器

    接下来,我们来谈谈实现文件上传的步骤: 1. 创建HTML表单:在网页中创建一个包含`&lt;form&gt;`元素的表单,设置`enctype="multipart/form-data"`和`method="POST"`属性,指定上传文件的URL。 2. 文件输入元素:在表单...

    easyui webserver 实现文件上传下载

    通过研究这些示例,你可以更好地理解如何结合EasyUI和WebServer实现文件上传下载功能。同时,注意文件安全性和权限控制,避免非法文件上传和敏感数据泄露。在实际项目中,还应考虑错误处理、文件大小限制、文件类型...

Global site tag (gtag.js) - Google Analytics