簡體   English   中英

wso2 EI 中的多部分

[英]Multipart in wso2 EI

我有一個要求,我應該將 gzip 文件上傳到 wso2 EI 服務器。

我在系統中有一個文件(gzip)(運行java)。 我需要將此文件發送到托管在 wso2ei 中的 API,它將存儲此文件。 由於文件可能很大,我需要 API 來支持多部分文件上傳。 我想在 wso2 EI 中編寫一個 API ,它將支持多部分,並將獲取此文件並存儲在 EI 服務器本身的某個位置。 我不想使用 VFS。

以下是我嘗試但無法正常工作的代碼。 它創建了一個損壞的 zip 文件。 如果我要提供一個巨大的文件,那么我也會擺脫 memory 錯誤。 雖然在使用多部分時,我沒想到會出現 memory 錯誤(無論文件大小)。

注意:我試過不解碼身體。 應用程序/zip 內容類型也是如此。

<?xml version="1.0" encoding="UTF-8"?>
<api context="/upload" name="MultiPartAPI" xmlns="http://ws.apache.org/ns/synapse">
    <resource methods="POST" >
        <inSequence>
            <property expression="json-eval($)" name="inputPayLoad" scope="default" type="STRING"/>
            <property name="messageType" scope="axis2" type="STRING" value="multipart/form-data"/>
            <property name="ContentType" scope="axis2" type="STRING" value="multipart/form-data"/>
            <property expression="//mediate/data/text()" name="payload" scope="default" type="STRING"/>
            <property expression="//mediate/data/@filename" name="fileName" scope="default" type="STRING"/>
            <log level="custom">
                <property name="===========" value="================="/>
                <property expression="$ctx:fileName" name="fileName"/>
            </log>
            <property expression="base64Decode(get-property('payload'))" name="DecodeBody" scope="default" type="STRING"/>
            <property description="File full path" expression="fn:concat('\home\files\gzip\',$ctx:fileName)" name="fileFullPath" scope="default" type="STRING"/>
            <property name="messageType" scope="axis2" type="STRING" value="application/octet-stream"/>
            <property name="ContentType" scope="axis2" type="STRING" value="application/octet-stream"/>
            <fileconnector.create>
                <source>{$ctx:fileFullPath}</source>
                <inputContent>{$ctx:DecodeBody}</inputContent>
            </fileconnector.create>
            <respond/>
        </inSequence>
        <outSequence/>
        <faultSequence/>
    </resource>
</api>

BR//維平尼爾瓦爾

暫無
暫無

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

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