当前位置:首页 » 文件管理 » cwebservice上传文件

cwebservice上传文件

发布时间: 2022-10-08 13:02:34

A. 如何通过WebService批量上传多个大文件

WinForm 程序开发
WinForm是·Net开发平台中对Windows Form的一种称谓。新增WinForm程序项目,添加文件上传服务引用。

3.1. Winform 程序实现效果
程序界面简单设计为:选择文件按钮,选择文件列表,上传文件按钮、上传信息及上传进度。

3.2. Winform 上传文件效果
示例演示:选择两大于4MB文件进行上传,上传成功。

3.3. 文件上传关键源码
localhost.WebService mWebService = new WinTest.localhost.WebService();
mWebService.CookieContainer = new System.Net.CookieContainer();
mWebService.Timeout =- 1;

对 XML Web services 的同步调用的超时(以毫秒为单位)。默认为 100000 毫秒。提示:如果将 Timeout 属性设置为 Timeout =-1,则指示该请求无超时。

B. 利用webservice怎么上传文件

1. Web Service 简介
Web Service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。
(Web Service 在此不做过多介绍,具体介绍可网络下)
2. WEB Service 开发
2.1. 服务配置
Asp.Net 一般支持上传4MB大小文件,为实现上传超过4MB大小文件,Asp.Net项目需要调整配置(Web.Config)的httpRuntime节点。
<httpRuntime maxRequestLength="40960" executionTimeout="1800" />
maxRequestLength:指定输入流缓冲阈值限制(以 KB 为单位)。此限制可用于防止拒绝服务攻击;例如,因用户向服务器发送大型文件而导致的拒绝服务攻击。
默认值为 4096 (4 MB)。
executionTimeout: 指定在被 ASP.NET 自动关闭前,允许执行请求的最大秒数。默认值110秒。
2.2. 服务开发
本人采用接收字节的方式开发Web Service,提供是创建还是累加参数,根据参数将文件字节写入文件中。示例代码如下:

3. WinForm 程序开发
WinForm是·Net开发平台中对Windows Form的一种称谓。新增WinForm程序项目,添加文件上传服务引用。

3.1. Winform 程序实现效果
程序界面简单设计为:选择文件按钮,选择文件列表,上传文件按钮、上传信息及上传进度。

C. 在c#中 如何使用webservice上传文件并加载到数据库

文件只能上传的服务器的某个文件夹下,数据库中只能保存上传的路径

D. webservice怎么将客户端的文件上传到服务器

在服务端写一个专门针对文件的方法,客户端参数类型可以是Byte/DataHandler等类型,在服务端进行解析参数写入文件即可。最重要的是要设置WebService为可传递附件,默认的WebService仅仅支持一般数据类型的传递。

E. C#使用webservice把文件上传到服务器

C#使用webservice把文件上传到服务器的代码如下(这里以C:\.jpg这个文件上传为例):

WebService部分:

///<summary>
///保存文件到远程服务器
///</summary>
///<paramname="FileByteArray">待转换字节数组</param>
///<paramname="FileLength">字节长度</param>
///<paramname="SaveToUrl">保存路径</param>
///<returns>返回是否执行成功</returns>
[WebMethod(Description="保存文件到远程服务器.")]
publicboolSaveFile(byte[]FileByteArray,intFileLength,stringSaveToUrl)
{
try
{
FileStreamfs=newFileStream(SaveToUrl,FileMode.OpenOrCreate,FileAccess.Write);
fs.Write(FileByteArray,0,FileLength);
fs.Close();
}
catch{
returnfalse;
}
returntrue;
}

上传文件调用部分:

protectedvoidButton1_Click(objectsender,EventArgse)
{
MangerPhoto.Servicemp=newMangerPhoto.Service();
Response.Write(mp.SaveFile(getByte(),FileUpload1.PostedFile.ContentLength,"C:\.jpg"));
}privatebyte[]getByte(){//获得转化后的字节数组
//得到用户要上传的文件名
stringstrFilePathName=FileUpload1.PostedFile.FileName;
stringstrFileName=Path.GetFileName(strFilePathName);
intFileLength=FileUpload1.PostedFile.ContentLength;
//上传文件
Byte[]FileByteArray=newByte[FileLength];//图象文件临时储存Byte数组
StreamStreamObject=FileUpload1.PostedFile.InputStream;//建立数据流对像
//读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度
StreamObject.Read(FileByteArray,0,FileLength);
returnFileByteArray;
}

F. 如何通过WebService批量上传多个大文件

  • 采用接收字节的方式开发Web Service,提供是创建还是累加参数,根据参数将文件字节写入文件中。示例代码如下:

G. 如何通过WebService批量上传多个大文件

1. Web Service 简介

Web
Service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。

Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web
Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块,
可以执行具体的业务功能。Web Service也很容易部署,
因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web
Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。

(Web Service 在此不做过多介绍,具体介绍可网络下)

2. WEB Service 开发

2.1. 服务配置

Asp.Net
一般支持上传4MB大小文件,为实现上传超过4MB大小文件,Asp.Net项目需要调整配置(Web.Config)的httpRuntime节点。

<httpRuntime maxRequestLength="40960" executionTimeout="1800" />

maxRequestLength:指定输入流缓冲阈值限制(以 KB
为单位)。此限制可用于防止拒绝服务攻击;例如,因用户向服务器发送大型文件而导致的拒绝服务攻击。

默认值为 4096 (4 MB)。

executionTimeout: 指定在被 ASP.NET 自动关闭前,允许执行请求的最大秒数。默认值110秒。

2.2. 服务开发

本人采用接收字节的方式开发Web Service,提供是创建还是累加参数,根据参数将文件字节写入文件中。示例代码如下:

步骤阅读

3. WinForm 程序开发

WinForm是·Net开发平台中对Windows Form的一种称谓。新增WinForm程序项目,添加文件上传服务引用。

步骤阅读

3.1. Winform 程序实现效果

程序界面简单设计为:选择文件按钮,选择文件列表,上传文件按钮、上传信息及上传进度。

步骤阅读

3.2. Winform 上传文件效果

示例演示:选择两大于4MB文件进行上传,上传成功。

步骤阅读

3.3. 文件上传关键源码

localhost.WebService mWebService = new WinTest.localhost.WebService();

mWebService.CookieContainer = new System.Net.CookieContainer();

mWebService.Timeout =- 1;

对 XML Web services 的同步调用的超时(以毫秒为单位)。默认为 100000 毫秒。提示:如果将 Timeout 属性设置为
Timeout =-1,则指示该请求无超时。

H. 怎么用WebService传输XML文件

WebService中文件传输
WebService处理传递普通的信息,还可以传输文件,下面介绍WebService是怎么完成文件传输的。
1、 首先编写服务器端上传文件的WebService方法

package com.hoo.service;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import javax.activation.DataHandler;

/**
* <b>function:</b>Axis WebService完成文件上传服务器端
* @author hoojo
* @createDate Dec 18, 2010 1:16:16 PM
* @file UploadFileService.java
* @package com.hoo.service
* @project AxisWebService
* @blog http://blog.csdn.net/IBM_hoojo
* @email [email protected]
* @version 1.0
*/
public class UploadFileService {

/**
* <b>function:</b>传递文件
* @author hoojo
* @createDate Dec 18, 2010 1:27:58 PM
* @param handler DataHandler这个参数必须
* @param fileName 文件名称
* @return upload Info
*/
public String upload(DataHandler handler, String fileName) {
if (fileName != null && !"".equals(fileName)) {
File file = new File(fileName);
if (handler != null) {
InputStream is = null;
FileOutputStream fos = null;
try {
is = handler.getInputStream();
fos = new FileOutputStream(file);
byte[] buff = new byte[1024 * 8];
int len = 0;
while ((len = is.read(buff)) > 0) {
fos.write(buff, 0, len);
}
} catch(FileNotFoundException e) {
return "fileNotFound";
} catch (Exception e) {
return "upload File failure";
} finally {
try {
if (fos != null) {
fos.flush();
fos.close();
}
if (is != null) {
is.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
return "file absolute path:" + file.getAbsolutePath();
} else {
return "handler is null";
}
} else {
return "fileName is null";
}
}
}

上传方法和我们以前在Web中上传唯一不同的就是参数一DataHandler,可以将这类看成文件传输器,他可以把文件序列化。然后通过DataHandler可以得到一个输入流InputStream,通过这个流可以读到文件的内容。其他的操作和普通上传类似。
2、 定制wsdd发布文件上传的WebService服务

<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="UploadFile" provider="java:RPC">
<parameter name="className" value="com.hoo.service.UploadFileService" />
<parameter name="allowedMethods" value="*" />
<parameter name="scope" value="Session" />
<!-- 和服务器端上传文件的方法签名对应,参数也对应 -->
<operation name="upload" qname="operNS:upload" xmlns:operNS="upload" returnType="rns:string"
xmlns:rns="http://www.w3.org/2001/XMLSchema">
<parameter name="handler" type="ns:DataHandler" xmlns:ns="http://www.w3.org/2001/XMLSchema"/>
<parameter name="fileName" type="ns:string" xmlns:ns="http://www.w3.org/2001/XMLSchema"/>
</operation>
<typeMapping qname="hns:DataHandler" xmlns:hns="ns:FileUploadHandler"
languageSpecificType="java:javax.activation.DataHandler"
serializer="org.apache.axis.encoding.ser." deserializer="org.apache.axis.encoding.ser." encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</service>
</deployment>

上面才xml节点元素在前面都见过了,说明下operation中的参数,注意要指定参数类型,特别是DataHandler的类型,然后就是typeMapping的serializer、deserializer的序列化和反序列化工厂类的配置。
3、 用dos命令发布当前WebService
C:\SoftWare\tomcat-5.0.28\tomcat-5.0.28\webapps\AxisWebService\WEB-INF>java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -lhttp://localhost:8080/AxisWebService/services/AdminService deployUpload.wsdd
发布完成后,可以通过这个地址查看uploadFile这个service了
http://localhost:8080/AxisWebService/servlet/AxisServlet
4、 编写客户端代码

package com.hoo.client;

import java.rmi.RemoteException;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.encoding.ser.;
import org.apache.axis.encoding.ser.;

/**
* <b>function:</b>上传文件WebService客户端
*
* @author hoojo
* @createDate Dec 18, 2010 1:38:14 PM
* @file UploadFileClient.java
* @package com.hoo.client
* @project AxisWebService
* @blog http://blog.csdn.net/IBM_hoojo
* @email [email protected]
* @version 1.0
*/
public class UploadFileClient {

public static void main(String[] args) throws ServiceException, RemoteException {
String url = "http://localhost:8080/AxisWebService/services/UploadFile";
String fileName = "readMe.txt";
String path = System.getProperty("user.dir") + "\\WebRoot\\" + fileName;
System.out.println(path);

//这样就相当于构造了一个带文件路径的File了
DataHandler handler = new DataHandler(new FileDataSource(path));

Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(url);

/**
* 注册异常类信息和序列化类 ns:FileUploadHandler 和 wsdd 配置文件中的typeMapping中的xmlns:hns="ns:FileUploadHandler" 的对应 DataHandler
* 和 wsdd 配置文件中的typeMapping中的qname="hns:DataHandler"的DataHandler对应
*/
QName qn = new QName("ns:FileUploadHandler", "DataHandler");
call.registerTypeMapping(DataHandler.class, qn,
.class,
.class);
call.setOperationName(new QName(url, "upload"));

//设置方法形参,注意的是参数1的type的DataHandler类型的,和上面的qn的类型是一样的
call.addParameter("handler", qn, ParameterMode.IN);
call.addParameter("fileName", XMLType.XSD_STRING, ParameterMode.IN);

//设置返回值类型,下面2种方法都可以
call.setReturnClass(String.class);
//call.setReturnType(XMLType.XSD_STRING);

String result = (String) call.invoke(new Object[] { handler, "remote_server_readMe.txt" });
System.out.println(result);
}
}

至此,文件传输就完成了。怎么样,还不错吧!
如果你用myEclipse进行开发的话,运行时可能会出现以下的错误:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
原因是jar包版本不统一,解决方法如下:
删除Java EE 5 Libraries/javaee.jar/mail里的包有东西.
具体方法如下:
用rar打开X:/Program Files/MyEclipse 6.0/myeclipse/eclipse/plugins/com.genuitec.eclipse.j2eedt.core_6.0.1.zmyeclipse601200710/data/libraryset/EE_5/javaee.jar,然后删除mail,一切就ok了.

I. 如何通过WebService批量上传大文件

Asp.Net
一般支持上传4MB大小文件,为实现上传超过4MB大小文件,Asp.Net项目需要调整配置(Web.Config)的httpRuntime节点。

<httpRuntime maxRequestLength="40960" executionTimeout="1800" />

maxRequestLength:指定输入流缓冲阈值限制(以 KB
为单位)。此限制可用于防止拒绝服务攻击;例如,因用户向服务器发送大型文件而导致的拒绝服务攻击。

默认值为 4096 (4 MB)。

executionTimeout: 指定在被 ASP.NET 自动关闭前,允许执行请求的最大秒数。默认值110秒。

2.2. 服务开发

本人采用接收字节的方式开发Web Service,提供是创建还是累加参数,根据参数将文件字节写入文件中。示例代码如下:

步骤阅读

3. WinForm 程序开发

WinForm是·Net开发平台中对Windows Form的一种称谓。新增WinForm程序项目,添加文件上传服务引用。

文件上传关键源码

localhost.WebService mWebService = new WinTest.localhost.WebService();

mWebService.CookieContainer = new System.Net.CookieContainer();

mWebService.Timeout =- 1;

对 XML Web services 的同步调用的超时(以毫秒为单位)。默认为 100000 毫秒。提示:如果将 Timeout 属性设置为
Timeout =-1,则指示该请求无超时。

热点内容
qq空间音乐缓存 发布:2024-10-08 07:05:49 浏览:738
湖南回收服务器主板云主机 发布:2024-10-08 06:12:59 浏览:808
psv视频脚本 发布:2024-10-08 06:12:13 浏览:422
文件夹菜单栏 发布:2024-10-08 05:46:23 浏览:491
压缩机选型手册 发布:2024-10-08 05:24:37 浏览:622
java主机名 发布:2024-10-08 05:12:55 浏览:120
华意压缩待遇 发布:2024-10-08 05:04:07 浏览:466
jsp上传图片存到数据库 发布:2024-10-08 05:04:06 浏览:76
分卷压缩解压速度 发布:2024-10-08 04:45:16 浏览:848
冰雪单职业辅助哪个好安卓 发布:2024-10-08 04:40:06 浏览:664