// authenticate
def authSite = new HTTPBuilder( 'https://*********.objectstore.eu/' )
authSite.auth.basic '******', '******'

def filestore = new File("C:/*****")
filestore.createNewFile()
FileUtils.writeStringToFile(filestore, "datawhathwat")

//save object
authSite.request(PUT) { req ->
    uri.path = '/images/********.txt'
    headers.'Content-Type' = 'image/jpg'

    body: "filestore"
}

authSite.shutdown()

使用此代码时,将通过 header ,创建一个文件,但该文件为空。

这是API文档的链接:http://developer.openstack.org/api-ref-objectstorage-v1.html#createOrReplaceObject

最佳答案

在请求正文中,您传递的是字符串,而不是您尝试上传的文件的内容。通过这种方式将文件内容获取到主体中:

authSite.request(PUT) { req ->
    ...
    body: filestore.bytes
}

08-07 14:45