在 Swift 4.2 中传递给 multipart API 的非拉丁(多语言)文件名
Non-latin(Multi-Language) file names passing to multipart API in Swift 4.2
trying to upload the file from iPhone iCloud to the multipart API.
When the file name is in English text it shows well after uploading but I do have the file name in another language than English then it is wrong.
在下图中,文件名是中文“样品.pdf”,但当我上传它时,作为回应,我得到的文本是“??.pdf”
后端 API 已经处理了这个转换,因为当我从 Android 上传文件时它起作用了。
此外,当我从 textfiled 发送文本时,它会正确显示我应该为字符串做什么?
//Code from uploading API Call
myRequestData.append("\(MPboundary)\r\n".data(using: String.Encoding.utf8)!)
// set upload image, name is the key of image
myRequestData.append("Content-Disposition: form-data; name=\"\(mediaObj!.key)\"; filename=\"\(mediaObj!.fileName)\"\r\n".data(using: String.Encoding.utf8)!)
myRequestData.append("Content-Type: \(mediaObj!.mimeType)\r\n\r\n".data(using: String.Encoding.utf8)!)
myRequestData.append(mediaObj!.data!)
myRequestData.append("\r\n".data(using: String.Encoding.utf8)!)
请将db filename
字段collation
更改为utf8mb4_unicode_ci
它将被修复,否则您必须在发送filename
时对其进行编码并在显示时对其进行解码它在您的应用程序上。
trying to upload the file from iPhone iCloud to the multipart API. When the file name is in English text it shows well after uploading but I do have the file name in another language than English then it is wrong.
在下图中,文件名是中文“样品.pdf”,但当我上传它时,作为回应,我得到的文本是“??.pdf”
后端 API 已经处理了这个转换,因为当我从 Android 上传文件时它起作用了。
此外,当我从 textfiled 发送文本时,它会正确显示我应该为字符串做什么?
//Code from uploading API Call
myRequestData.append("\(MPboundary)\r\n".data(using: String.Encoding.utf8)!)
// set upload image, name is the key of image
myRequestData.append("Content-Disposition: form-data; name=\"\(mediaObj!.key)\"; filename=\"\(mediaObj!.fileName)\"\r\n".data(using: String.Encoding.utf8)!)
myRequestData.append("Content-Type: \(mediaObj!.mimeType)\r\n\r\n".data(using: String.Encoding.utf8)!)
myRequestData.append(mediaObj!.data!)
myRequestData.append("\r\n".data(using: String.Encoding.utf8)!)
请将db filename
字段collation
更改为utf8mb4_unicode_ci
它将被修复,否则您必须在发送filename
时对其进行编码并在显示时对其进行解码它在您的应用程序上。