Skip to content

Commit 960fadd

Browse files
authored
Merge pull request #332 from zapcannon87/developer
feat(file): property option for keep file name
2 parents f77412f + 495089c commit 960fadd

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

LeanCloudTests/IMMessageTestCase.swift

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -731,7 +731,11 @@ class IMMessageTestCase: RTMBaseTestCase {
731731
func testFileMessageSendingAndReceiving() {
732732
let message = IMFileMessage()
733733
let format: String = "zip"
734-
message.file = LCFile(payload: .fileURL(fileURL: bundleResourceURL(name: "test", ext: format)))
734+
let file = LCFile(payload: .fileURL(fileURL: bundleResourceURL(name: "test", ext: format)))
735+
let name = "\(uuid).\(format)"
736+
file.keepFileName = true
737+
file.name = name.lcString
738+
message.file = file
735739
let success = sendingAndReceiving(sentMessage: message) { (rMessage) in
736740
XCTAssertNotNil(rMessage?.file?.objectId?.value)
737741
XCTAssertEqual(rMessage?.format, format)
@@ -742,6 +746,7 @@ class IMMessageTestCase: RTMBaseTestCase {
742746
XCTAssertEqual(rMessage?.size, message.size)
743747
XCTAssertEqual(rMessage?.url, message.url)
744748
}
749+
XCTAssertEqual(message.url?.absoluteString.hasSuffix(name), true)
745750
XCTAssertTrue(success)
746751
}
747752

Sources/Foundation/File.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,9 @@ public class LCFile: LCObject {
104104

105105
// MARK: Save
106106

107+
/// If set it to `true`, then will use "/\(LCFile.name)" as URL suffix when creating file from payload. default is `false`.
108+
public var keepFileName: Bool = false
109+
107110
/// Save Options
108111
public struct Options: OptionSet {
109112
public let rawValue: Int

Sources/Foundation/FileUploader.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,8 @@ class FileUploader {
252252
parameters["key"] = attributes.resourceKey
253253
parameters["name"] = attributes.name
254254
parameters["mime_type"] = attributes.mimeType
255-
if self.options.contains(.keepFileName) {
255+
if self.options.contains(.keepFileName)
256+
|| self.file.keepFileName {
256257
parameters["keep_file_name"] = true
257258
}
258259

0 commit comments

Comments
 (0)