我正在尝试从Swift向web API发布文件。我发送的请求接收良好,但其中没有任何文件。我能够在C#控制器的请求下偷看
HttpContext.Current.Request.Files.Count
为0。我怀疑它不是将文件附加到请求主体,而是将文件内容作为原始数据放入。
代码创建请求:
func upload(_ fileName:URL)
{
let requestUrl:URL = URL(string: uploadURL)!
let request = NSMutableURLRequest(url: requestUrl)
request.httpMethod = "POST"
request.httpBodyStream = InputStream(url: fileName)
let (data, response, error) = URLSession.shared.synchronousDataTaskWithRequest(request as URLRequest)
}
我做错了什么?
如果有助于理解我试图构建的请求类型,那么这就是JS中的工作代码,它可以从HTML创建FormData对象
<input type='file'>
要素:
$.ajax({
url: $('#apiURL').val() + 'Upload'
type: 'POST',
contentType: false,
processData: false,
data: new FormData($('form')[0]),
success: function (data)
{
// doing successful things
},
error: function (jqXHR, textStatus, errorThrown)
{
alert("Failed");
}
});
我基本上只想发送一个文件到它引用的同一个控制器,但在swift中。。。