2014-01-07 3 views
1

Я использую PHP с API REST. Я пытаюсь загрузить файл (ы) с помощью AJAX и получить миниатюру.Где находится файл upload_handler.php?

app.yaml

- url: /api/(.*) 
    script: api/index.php 
- url: /.* 
    script: index.html 

Javascript: Эта функция срабатывает, когда пользователь выбирает файл (ы) для загрузки.

onFileSelect = function($files) { 

    for (var i = 0; i < $files.length; i++) { 
     var upload_url = $http.get('/api/upload/new'); //Create a new upload url 

     $http.uploadFile({ 
      url: upload_url, 
      file: $files[i] 
     }).success(function(pulic_url, status) { 
      console.log(pulic_url); //Print the public url of the uploaded file 
     }) 
    } 
} 

Но это не работает, публичные URL-адреса я получаю выглядеть следующим образом:

http://localhost:8080/_ah/upload/adfrhtbnekj... 

Когда я делаю запрос POST, он просто печатает файл index.html. Это означает, что он не находит мой upload_handler.php

Где мне взять файл upload_handler.php?

ответ

0

Загружаемый обработчик должен быть указан в файле app.yaml как скрипт. Смысл должен быть способен вызвать скрипт, как и любой другой (т. Е. Сделать запрос post/get, поскольку прокси-сервер загрузки перенаправит [сделать запрос] на ваше приложение, как обычно). Ваш текущий файл обрабатывает только api/и. * To index.html, что означает, что при доступе /upload_handler.php он будет перенаправлен на index.html.

Может быть, вы хотите что-то вроде следующего

- url: /upload_handler.php 
    script: upload_handler.php 

или

# next release /(.+\.php)$ will work as well. 
- url: /(.+\.php$) 
    script: \1 
+0

Это решило его! Спасибо, бум! –

Смежные вопросы