|
@@ -165,6 +165,10 @@ func (fs *S3Fs) Stat(name string) (os.FileInfo, error) {
|
|
|
// Some S3 providers (like SeaweedFS) remove the trailing '/' from object keys.
|
|
|
// So we check some common content types to detect if this is a "directory".
|
|
|
isDir := util.Contains(s3DirMimeTypes, util.GetStringFromPointer(obj.ContentType))
|
|
|
+ if obj.ContentLength == 0 && !isDir {
|
|
|
+ _, err = fs.headObject(name + "/")
|
|
|
+ isDir = err == nil
|
|
|
+ }
|
|
|
return updateFileInfoModTime(fs.getStorageID(), name, NewFileInfo(name, isDir, obj.ContentLength,
|
|
|
util.GetTimeFromPointer(obj.LastModified), false))
|
|
|
}
|