RETful GET файл Webservice - PullRequest
       10

RETful GET файл Webservice

0 голосов
/ 05 мая 2011

У меня есть сервис RESTful, реализованный в Java для загрузки файлов. Вот код:

@POST
@Produces("text/plain")
public String uploadFile(@Context HttpServletRequest request) {

    String resultStatus = "fileupload error";
    String fileRepository = "/MobilityPatterns/";

    if (ServletFileUpload.isMultipartContent(request)) {
        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        upload.setSizeMax(1073741824); //Limits the max file size (bytes)
        List<FileItem> items = null;
        try {
            items = upload.parseRequest(request);
        } catch (FileUploadException e) {
            e.printStackTrace();
        }

        String username = null;
        for(FileItem item : items){
            if(item.isFormField() && item.getFieldName().equalsIgnoreCase("username")){
                username = item.getString();
            } else if (!item.isFormField() && item.getSize() > 0) {
                try {
                    String filename = item.getName();

                    String dateFormat = "yyyyMMdd_HHmmss";
                    Calendar cal = Calendar.getInstance();
                    SimpleDateFormat dateFormatter = new SimpleDateFormat(dateFormat);
                    String date =  dateFormatter.format(cal.getTime());

                    item.write(new File(fileRepository + username + "_" + date + "_" + filename));
                    resultStatus = "fileupload success";
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
    return resultStatus;
}

Но теперь я хочу реализовать сервис для загрузки этого файла. Могу ли я получить помощь, как это сделать?

1 Ответ

0 голосов
/ 05 мая 2011

Нечто подобное может быть? Я никогда не использовал jax-rs, поэтому я не уверен, что мой код будет COMPUTE!

@GET
@Produces("application/x-octet-stream")
public void downloadFile(@Context HttpServletRequest request,@Context HttpServletResponse response) {
    //fetch the file id from request object
    //get File using file id
    //dump file contents to response
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...