У нас есть сайт, который использует ng-file-upload для отправки запроса на бэкэнд для загрузки изображений. Он преобразует изображение в разные размеры. & Загрузить на Сервер Amazon S3. Он отлично работает в Интернете. Наш внешний интерфейс & внутренний номер содержит JS Code.Загрузка изображения iOS на S3 с помощью Node.js с Multiparty и GraphicsMagick
Из приложения iOS мы можем загружать файлы в AWS SDK for iOS, но это занимает слишком много времени, а также время ожидания запроса.
В соответствии с требованием,
При использовании обычного способа для загрузки файлов из ОС IOS App на сервера (узла), затем преобразование к различным размерам (нг-файл-загрузку - многопартийной & GraphicsMagick) & затем загрузить сервер амазонки (S3).
Итак, мы используем традиционный метод для загрузки изображения на сервер.
Код для изображения Загрузить
NSMutableURLRequest *urlRequest = [NSMutableURLRequest
requestWithURL:url
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:DEFAULT_TIMEOUT];
[urlRequest setHTTPMethod:@"POST"];
NSString *boundary = @"---------------------------14737809831464368775746641449";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[urlRequest addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData *body = [NSMutableData data];
//Image
if(imageData)
{
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"; filename=\"%@\"\r\n", imgName, imgName] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:imageData];
[body appendData:[[NSString stringWithFormat:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
}
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[urlRequest setHTTPBody:body];
Мы используем многопартийной в Node.js бэкэндом. Даже мы не можем получить какой-либо файл для заполнения для дальнейших шагов. Это вызывает ошибку в backend.
Сведения о файле в Вводные заголовки не заполнены во время загрузки из приложения.
Таким образом, мы получаем ошибку, такую как 'path' undefined.
Таким образом, мы не получаем никакого файла или изображения для создания бэкэнд, поэтому не можем обрабатывать дальнейшие данные для разговора, а также загружать. Мы застряли в этом месте.
Пожалуйста, сделайте необходимое. Любая помощь будет оценена.
Заранее спасибо.
Пожалуйста, проверьте один раз на сервере (Node), имя файла сценария должно быть таким же, как отправка с iOS – sandy
и с ios, которые мы используем для загрузки изображения на сервер. [body appendData: [[NSString stringWithFormat: @ "Content-Disposition: form-data; name = \" userfile \ " ; filename = \"% @ \ "\ r \ n", imgName] dataUsingEncoding: NSUTF8StringEncoding]]; – sandy
@sandy Большое вам спасибо. Вы спасли мой день! Cheers :) –