本文介绍如何创建软链接并获取软链接指向的目标文件(Object)名称。

创建软链接

软链接是一种特殊的文件,它指向某个具体的文件,类似于Windows上使用的快捷方式。软链接支持自定义元信息。

以下代码用于创建软链接:

PutSymlinkRequest putSymlink = new PutSymlinkRequest();
putSymlink.setBucketName("yourBucketName");
//设置软链接文件名。
putSymlink.setObjectKey("yourSymLink");
//设置目标文件名。
putSymlink.setTargetObjectName("yourTargetObjectName");

OSSAsyncTask task = oss.asyncPutSymlink(putSymlink, new OSSCompletedCallback<PutSymlinkRequest,
        PutSymlinkResult>() {
    @Override
    public void onSuccess(PutSymlinkRequest request, PutSymlinkResult result) {
        OSSLog.logInfo("code:"+result.getStatusCode());

    }

    @Override
    public void onFailure(PutSymlinkRequest request, ClientException clientException,
                          ServiceException serviceException) {
        OSSLog.logError("error: "+serviceException.getRawMessage());

    }
});
task.waitUntilFinished();

创建软链接的详细信息请参见PutSymlink

获取软链接指向的目标文件名称

获取软链接要求您对该软链接有读权限。以下代码用于获取软链接指向的目标文件名称:

//获取软链接指向的文件信息。
GetSymlinkRequest getSymlink = new GetSymlinkRequest();
getSymlink.setBucketName("yourBucketName");
getSymlink.setObjectKey("yourSymLink");

OSSAsyncTask task = oss.asyncGetSymlink(getSymlink, new OSSCompletedCallback<GetSymlinkRequest,
        GetSymlinkResult>() {
    @Override
    public void onSuccess(GetSymlinkRequest request, GetSymlinkResult result) {
        OSSLog.logInfo("targ::"+result.getTargetObjectName());

    }

    @Override
    public void onFailure(GetSymlinkRequest request, ClientException clientException,
                          ServiceException serviceException) {
        OSSLog.logError("error: "+serviceException.getRawMessage());

    }
});
task.waitUntilFinished();

获取软链接的详细信息请参见GetSymlink