使用Java轻松上传文件

使用Java轻松上传文件,java,web-services,curl,upload,Java,Web Services,Curl,Upload,我有以下问题:我想用Web服务(RESTful/Wildfly)上传文件(.csv、.jpg、.xls)。它正在使用HTML,但我希望它使用cURL命令 以下是我当时用于CSV文件的代码: package com.javacodegeeks.enterprise.rest.resteasy; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.Outpu

我有以下问题:我想用Web服务(RESTful/Wildfly)上传文件(.csv、.jpg、.xls)。它正在使用HTML,但我希望它使用cURL命令

以下是我当时用于CSV文件的代码:

package com.javacodegeeks.enterprise.rest.resteasy;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;

import org.jboss.resteasy.annotations.providers.multipart.MultipartForm;

@Path("/files")
public class RESTEasyFileUploadService {

Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");

private static final String SERVER_UPLOAD_LOCATION_FOLDER = "C://Users      /ditzel/Downloads/";

// CSV file
@POST
@Path("/upload/csv")
@Consumes("multipart/form-data")
public Response uploadFile(@MultipartForm MyMultipartForm form)
        throws Exception {

    String fileName = SERVER_UPLOAD_LOCATION_FOLDER
            + dateFormat.format(date) + ".csv";

    saveFile(form.getFile_input(), fileName);

    String output = "File saved to server location : " + fileName;


    return Response.status(200).entity(output).build();
}

// save uploaded file to a defined location on the server
private void saveFile(InputStream uploadedInputStream, String   serverLocation)
        throws Exception {

    OutputStream outputStream = new FileOutputStream(new File(
            serverLocation));

    try {

        int read = 0;
        byte[] bytes = new byte[1024];

        while ((read = uploadedInputStream.read(bytes)) != -1) {
            outputStream.write(bytes, 0, read);
        }
        outputStream.flush();
        outputStream.close();



    } finally {

        outputStream.flush();
        outputStream.close();
        uploadedInputStream.close();

    }
}
使用此命令:

curl -v -F key1=value1 -F upload=@C:/Users/ditzel/Downloads/5.csv http://127.0.0.1:28080/JAXRS-RESTEasy/rest/files/upload/csv