簡體   English   中英

無法使用Rest Web服務上傳文件

[英]Cant upload a file using rest web service

我需要使用Java Web服務將文件(圖像或任何文件)上傳到服務器。 提到了所使用的代碼。 但不幸的是,它不起作用。

我的代碼:

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.MediaType;
import com.sun.jersey.core.header.FormDataContentDisposition;
import com.sun.jersey.multipart.FormDataParam;


@Path("/webService")
public class ImageUpload {
    @POST
    @Path("/uploadImage")
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    public String uploadFile(@FormDataParam("file") InputStream uploadedInputStream,
            @FormDataParam("file") FormDataContentDisposition fileDetail)
            {
        saveToDisk(uploadedInputStream,fileDetail);
        return "File Uploaded Successfully";
            }

    private void saveToDisk(InputStream uploadedInputStream,
            FormDataContentDisposition fileDetail) {
        // TODO Auto-generated method stub
        String uploadFileLocation="d://upload/" + fileDetail.getFileName();
        try
        {
            OutputStream out=new FileOutputStream(new File(uploadFileLocation));
            int read=0;
            byte[] bytes=new byte[1024];
            out=new FileOutputStream(new File(uploadFileLocation));
            while((read=uploadedInputStream.read(bytes))!=-1)
            {
                out.write(bytes, 0, read);

            }
            out.flush();
            out.close();
        }
        catch(Exception io)
        {
            io.printStackTrace();
        }
    }
}

我的HTML文件:

<html>
<body>
<h1>Upload file to a RFestFul Web Service</h1>
<form action="http://localhost:8080/ImageUpload_demo/webService/uploadImage" method="post" enctype="multipart/form-data">
<label for="file"> Select a file to be uploaded</label>
<input type="file" name="file"> <br>
<input type="submit" value="Upload">
</form>

</body>
</html>

運行引發之后,請求的資源不可用。 並且文件未上傳到指定位置。 可能有人幫助把它弄出來。 這部分是新手。

這很可能是由於文件系統權限問題引起的。 您運行該應用程序的服務帳戶可能沒有對d:\\ upload文件夾路徑的寫權限。 根據您的路徑,我假設您正在Windows框上運行Web服務。 您需要為啟動服務您的Web服務器的用戶帳戶提供寫權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM