0
내 요구 사항에 대한 모든 PARAMS 전달하지 않는 것은 내가 다중 양식 데이터를 형성해야 REST API를에게Multipartform 데이터가 서버 스위프트 3
코드를 사용하여 서버에 파일 이름과 시간과 함께 녹음 된 오디오 파일을 업로드하는 것입니다
private func createRequestBody(boundary:"--BXDFG", multidata:Data, mime:"audio/mp4", filePathKey:"file", filename:"test", metas:["title":"Mytitle","duration":"30"] -> Data {
var body = Data()
body.append(Data("--\(boundary)\r\n".utf8))
body.append(Data("Content-Disposition: form-data; name=\"\(filePathKey)\"; filename=\"\(filename)\"\r\n".utf8))
body.append(Data("Content-Type: \(mime)\r\n\r\n".utf8))
body.append(multidata)
body.append(Data("\r\n".utf8))
if (metas != nil) {
for (key, value) in metas! {
body.append(Data("--\(boundary)\r\n".utf8))
body.append(Data("Content-Disposition: form-data; name=\"\(key)\"\r\n".utf8))
body.append(Data((value as! String).utf8))
body.append(Data("\r\n".utf8))
}
}
body.append(Data("--\(boundary)--\r\n".utf8))
return body
}
다음과 같다 내가 내가 다중 양식을 요청 서버 측에
, 내가 가진에 "제목"과 "시간"을 추가하고있는 NSData로 루프에 대한의 오디오를 통과하고있는 중이 야 코드 아래
@api.route('/upload/<userid>', methods=['POST'])
def upload(userid):
if request.method == 'POST':
if 'title' not in request.form:
return jsonify({'error': 'Need a valid title for uploaded file', 'code': 403})
"제목이"다중 폼 데이터 전달되지 않은 경우에는 서버가 오류 응답을 반환합니다. 비록, "제목"요청의 일부로 추가 내 경우
는 데이터가 서버로 전달되지 않고 서버가 오류를 반환합니다. 방금 오디오 데이터 만 전달하면 서버 쪽에서 "title"에 대한 유효성 검사가 제거되고 오디오 데이터는 서버에 성공적으로 업로드됩니다.나는 "제목"과 "데이터"서버에
PS를 통과하지 않는 이유를 이해할 수 없습니다입니다 : API 요청은 POSTMAN 클라이언트에서 잘 작동합니다.
감사
난 이유를 모르겠어/이건 일이야. g,하지만이 경우에는 alamofire를 사용하도록 제안 할 수 있습니다. 쉽고 원활합니다. 확인 : https://github.com/Alamofire/Alamofire –