第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Java Rest API中獲取InputStream文件的真實路徑

如何在Java Rest API中獲取InputStream文件的真實路徑

至尊寶的傳說 2023-09-13 15:40:01
我有一個 Java Rest API Post 方法,該方法發(fā)送圖像(InputStream)作為參數(shù),并且我必須將其保存在 Oracle 中的 blob 列中。我需要獲取此InputStream的完整路徑(真實路徑)以將此圖像保存在數(shù)據(jù)庫中。我的代碼如下。@POST@Path("/upload")@Consumes(MediaType.MULTIPART_FORM_DATA)public Response uploadFile(                @FormDataParam("file") InputStream uploadedInputStream,                @FormDataParam("file") FormDataContentDisposition fileDetail) {String UPLOAD_FOLDER = "c:/uploadedFiles/"; // my rest api does not have this file, how to get at runtime?    String uploadedFileLocation = UPLOAD_FOLDER + fileDetail.getFileName(); // this line is ok我想做這樣的事情:String UPLOAD_FOLDER = uploadedInputStream.getRealPathName();或者String UPLOAD_FOLDER = fileDetail.getRealPathName();
查看完整描述

1 回答

?
拉莫斯之舞

TA貢獻1820條經(jīng)驗 獲得超10個贊

我通過將輸入流轉(zhuǎn)換為字節(jié)數(shù)組解決了這個問題。我將 byte[] 轉(zhuǎn)發(fā)給數(shù)據(jù)庫持久化方法。我的代碼如下:


public byte[] toByteArray(InputStream is) throws IOException{

    ByteArrayOutputStream baus = new ByteArrayOutputStream();

    byte[] buffer = new byte[1024];

    int len;

    while((len= is.read(buffer)) != -1){

        baus.write(buffer, 0, len);

    }

    return baus.toByteArray();

}


@POST

@Path("/upload")

@Consumes(MediaType.MULTIPART_FORM_DATA)

public Response uploadFile(

                @FormDataParam("file") InputStream uploadedInputStream,

                @FormDataParam("file") FormDataContentDisposition fileDetail) {

    ...

    byte[] b = toByteArray(uploadedInputStream);

    business.saveUploadedFileInDatabase(b);

    ...

}


public boolean uploadFile(byte[] b) throws SQLException, IOException{

    ...

    PreparedStatement ps = conn.prepareStatement("INSERT INTO TABLE_IMAGE_TEST (CODE, IMAGE) VALUES (?, ?)");

    pstmt.setLong(1, 1L);

    pstmt.setBytes(2, b);

    pstmt.execute();

    ...

}


查看完整回答
反對 回復(fù) 2023-09-13
  • 1 回答
  • 0 關(guān)注
  • 149 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號