首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Web服务:使用DataHandler类发送文件

Java Web服务:使用DataHandler类发送文件
EN

Stack Overflow用户
提问于 2009-11-06 17:28:21
回答 1查看 12.1K关注 0票数 4

我是Java Web服务的新手,所以我可能做错了事情。

我正在尝试使用DataHandler传输文件-这是我得到的:

Web服务:

代码语言:javascript
复制
import java.net.MalformedURLException;
import java.net.URL;
import javax.activation.DataHandler;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.xml.bind.annotation.XmlMimeType;

/**
 *
 * @author pc1
 */
@WebService()
public class WSFileSender {

    @WebMethod( operationName = "getfile" )
    public @XmlMimeType( "application/octet-stream" ) DataHandler getfile( @WebParam( name = "path" ) String path ) {

        DataHandler datahandler = null;

        try {
            datahandler = new DataHandler( new URL( path ) );
        }
        catch ( MalformedURLException e ) {
            System.out.println( "Bad" );
        }

        return datahandler;
    }

}

客户端:

代码语言:javascript
复制
package fileclient;

import java.io.FileOutputStream;
import java.io.OutputStream;
import javax.activation.DataHandler;

/**
 *
 * @author pc1
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main( String[] args ) {

        try {
            fspg.WSFileSenderService service = new fspg.WSFileSenderService();
            fspg.WSFileSender port = service.getWSFileSenderPort();

            DataHandler handler = port.getfile( "FileSender/file.jpg" );

            OutputStream out = new FileOutputStream( "dest.jpg" );

            handler.writeTo( out );

            out.close();

            System.out.println( "Done" );

        } catch (Exception ex) {
        // TODO handle custom exceptions here
    }

    }

}

看起来好像一切都在正确完成,但创建的文件却是空的--我做错了什么?

=================编辑==================

getfile()返回的DataHandler对象为空-从not服务返回此对象是不可能的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-11-06 17:51:41

如果返回的DataHandlernull,我猜可能是该方法出了问题(例如,您正在捕获的MalformedURLException )。如果没有,您可以尝试以不同的方式创建DataHandler,例如使用FileDataSourceByteArrayDataSource

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1686450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档