Последние 2 дня я потратил, пытаясь заставить свое приложение загрузить изображение, снятое камерой телефона, на сервер PHP. Код на сервере работает просто отлично, но $_FILES
var пуст.
Моя проблема похожа на описанную здесь, также без решения Передача файлов Corodova не работает после обновления на ionic 2 RC0.
Мое приложение подключается к камере, делает снимок, загружает его и отправляет на сервер. Процесс занимает несколько секунд и все. Я не возвращаю ошибки при загрузке и все же $_FILES[""]
пустой.
Я пробовал несколько методов, включая использование заголовков и удаление заголовков, но ничего не получалось. И та же самая проблема каждый раз: ни один файл не загружен на сервер.
технологии:
Мой код:
Импорт:
import { Camera } from 'ionic-native';
import { Transfer } from 'ionic-native';
camera.html:
<button ion-button color="dark" (click)="takePhoto()">Open camera </button>
<img [src]="imageURL" *ngIf="imageURL" />
<br>imageURL={{imageURL}}
<br><button ion-button color="dark" (click)="upload1()">Upload image</button>
camera.ts:
takePhoto(){
Camera.getPicture().then((imageData) => {
this.imageURL = imageData;
}, (err) => {
console.log(err);
});
}
upload1(){
const ft = new Transfer();
var options = {
fileKey: 'file',
fileName: 'file_name',
headers: {
'Content-Type':'multipart/form-data'
}
}
ft.upload(this.imageURL,encodeURI("https://www.myserver.ro/my_file.php?op=upload"),options)
.then((data) => {
// success
alert("OK:"+this.imageURL);
}, (err) => {
// error
alert("ERROR ON UPLOAD: "+err.toString()+"\n picture url: "+this.imageURL);
})
}
Большое спасибо.
Задача ещё не решена.
Других решений пока нет …