Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion LeanCloudTests/IMMessageTestCase.swift
Original file line number Diff line number Diff line change
Expand Up @@ -731,7 +731,11 @@ class IMMessageTestCase: RTMBaseTestCase {
func testFileMessageSendingAndReceiving() {
let message = IMFileMessage()
let format: String = "zip"
message.file = LCFile(payload: .fileURL(fileURL: bundleResourceURL(name: "test", ext: format)))
let file = LCFile(payload: .fileURL(fileURL: bundleResourceURL(name: "test", ext: format)))
let name = "\(uuid).\(format)"
file.keepFileName = true
file.name = name.lcString
message.file = file
let success = sendingAndReceiving(sentMessage: message) { (rMessage) in
XCTAssertNotNil(rMessage?.file?.objectId?.value)
XCTAssertEqual(rMessage?.format, format)
Expand All @@ -742,6 +746,7 @@ class IMMessageTestCase: RTMBaseTestCase {
XCTAssertEqual(rMessage?.size, message.size)
XCTAssertEqual(rMessage?.url, message.url)
}
XCTAssertEqual(message.url?.absoluteString.hasSuffix(name), true)
XCTAssertTrue(success)
}

Expand Down
3 changes: 3 additions & 0 deletions Sources/Foundation/File.swift
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,9 @@ public class LCFile: LCObject {

// MARK: Save

/// If set it to `true`, then will use "/\(LCFile.name)" as URL suffix when creating file from payload. default is `false`.
public var keepFileName: Bool = false

/// Save Options
public struct Options: OptionSet {
public let rawValue: Int
Expand Down
3 changes: 2 additions & 1 deletion Sources/Foundation/FileUploader.swift
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,8 @@ class FileUploader {
parameters["key"] = attributes.resourceKey
parameters["name"] = attributes.name
parameters["mime_type"] = attributes.mimeType
if self.options.contains(.keepFileName) {
if self.options.contains(.keepFileName)
|| self.file.keepFileName {
parameters["keep_file_name"] = true
}

Expand Down