// 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
}