我有一个REST服务,它通过HTTP GET返回一个文件。
我在响应中(在服务器上)设置了这些标头,并且下载在任何浏览器中都能正常运行:
Content-Length
Content-Type
Content-Disposition
但是,在soapUI中它只是将二进制输出打印到响应窗口 - 我想把文件放到底部的“附件”选项卡中。
我尝试过多部分/混合无济于事。
任何人都知道我应该如何使服务器形成响应,以便soapUI将文件放在“附件”选项卡中?
谢谢!
答案 0 :(得分:0)
我不知道如何将文件放在“附件”选项卡中,但我知道您可以通过groovy转换文件中的二进制输出。
您可以尝试使用此脚本,只需填写三个变量扩展名name,textBase64。
import org.apache.commons.codec.binary.Base64
def extension = (##extension of your file##)
def name = (##name of your file ##)
def textBase64 =(##binary output from your request##)
// Access element Base64-encoded text content
String tempFilename = "${name}.${extension}"
def b64 = new Base64()
def TextBytes = b64.decode(textBase64.getBytes())
// Output text into a temporary file
def File = new java.io.File(tempFilename)
FileOutputStream fos = new java.io.FileOutputStream(File)
fos.write( TextBytes )
fos.flush()
fos.close()
log.info "File stored as: ${File.getCanonicalPath()}"
可能存在更好的脚本,但这个对我很有用