Hi,

Uff, at some point delete the line "addToQueue (mp);". Also note that 
although in Postman I use the "POST" method it is necessary for the 
parameters to be detected in PHP with $ _GET ['variable'], however when it 
is executed from a client it is necessary to use $ _POST ['variable'].

Thanks for the support and sorry for the inconvenience.

El Wednesday, June 30, 2021 a la(s) 11:26:32 AM UTC-5, [email protected] 
escribió:

> Hi,
>
> Thank you mr Shai and mr Javier for your reply
> I thought it worked, but I was wrong.
> *I'm going to name everything I've done. As I mentioned in postman it 
> works fine and this is the configuration:*
> [image: Postman.png]
> *The code in PHP is small and although it is not the topic of this forum I 
> am going to include it (suddenly someone detects a problem):*
> //Coloca los encabezados 
> header('Access-Control-Allow-Origin: *');
> header('Access-Control-Allow-Methods: PUT, GET, POST, DELETE');  
> header('Content-Type: application/json; text/html; charset=UTF-8; 
> multipart/form-data');
> header('Access-Control-Max-Age: 3600');
> header('Access-Control-Allow-Headers: Content-Type, 
> Access-Control-Allow-Headers, Authorization, X-Requested-With');
> // Generar archivo .htaccess si es necesario.
> ws_htaccess();
>
> $bd = isset($_GET['bd']) ? $_GET['bd'] : null;
> if (isset($_FILES['imagen']['name'])) {
> $fileName  =  $_FILES['imagen']['name'];
> $tempPath  =  $_FILES['imagen']['tmp_name'];
> // Extensiones validas
> $valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); 
> $ext = strtolower(pathinfo($fileName, PATHINFO_EXTENSION)); // toma la 
> extension de la imagen
> if (in_array($ext, $valid_extensions)) { // Valida que la extensión sea 
> valida
> $ruta = "../../../file/img/".$bd."/imagen";
> if (!file_exists($ruta)) {
> mkdir($ruta, 0777, true);
> }
> move_uploaded_file($tempPath, $ruta."/".$fileName);
> }
> } else {
> return getResponse('error', null, 500, 'Fallo en la creación / 
> actualización de la foto');
> }
>
>
> *And finally the code in the mobile app:*
> public static void actualizaImagenFoto(String imagen, String rutaImagen) {
>         try {
>             MultipartRequest mp = new MultipartRequest();
>             mp.setUrl(SERVER_URL + "ws_foto_imagen/ws_foto_imagen.php");
>             mp.addArgument("bd", Preferences.get("bd", "tempus"));
>             mp.addData("imagen", rutaImagen, "image/jpeg");
>             mp.setFilename("imagen", imagen);
>             mp.setPost(true);
>             System.out.println(Integer.toString(mp.getResponseCode()) + "  
>  " + mp.getResponseErrorMessage());
>         } catch (IOException err) {
>             Log.e(err);
>             ToastBar.showErrorMessage("Error en actualización de la foto: 
> " + err.getMessage());
>         }
>     }
>
> With or without the setPost and setFileName methods it's not working for 
> me.
>
> I appreciate your comments because I do not know what to continue doing.
>
> El Wednesday, June 30, 2021 a la(s) 12:04:09 AM UTC-5, [email protected] 
> escribió:
>
>> Can't be sure without looking at your entire implementation but here are 
>> 2 ideas:
>>
>> 1- make sure to add the file via MultipartRequest.addData( and don't call 
>> setPost or setFileName
>> 2- make sure your test call in Postman is using Multipart 
>> https://stackoverflow.com/questions/16015548/how-to-send-multipart-form-data-request-using-postman
>>
>>
>> On Wed, 30 Jun 2021 at 03:22, [email protected] <[email protected]> 
>> wrote:
>>
>>> Hi,
>>>
>>> I asked him about the arguments because I did not get the ws to 
>>> recognize them
>>>
>>> El Tuesday, June 29, 2021 a la(s) 8:33:36 PM UTC-5, Shai Almog escribió:
>>>
>>>> Hi,
>>>> using the regular addArgument should work just fine. It will be added 
>>>> to the multipart seamlessly.
>>>>
>>>> On Wednesday, June 30, 2021 at 3:15:35 AM UTC+3 [email protected] 
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> Detect the problem by including the following parameters:
>>>>>              mp.setFilename ("image", "data.jpeg");
>>>>>              mp.setPost (true);
>>>>>
>>>>> However, I would like to know how I can send 2 additional arguments 
>>>>> (Database and Company Number).
>>>>>
>>>>> Thanks
>>>>>
>>>>>
>>>>> El Tuesday, June 29, 2021 a la(s) 6:37:59 PM UTC-5, [email protected] 
>>>>> escribió:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I am working on a WS made in PHP. I was able to create some routines 
>>>>>> to receive an image and save them in a folder on the server. All this I 
>>>>>> have been testing in Postman and it works 100%.
>>>>>> In the WS I do not validate the HTTP method, but I assume it is POST.
>>>>>>
>>>>>> From my mobile app I send the file with the MultipartRequest class. I 
>>>>>> was able to validate by debugging the response code 200, however I can't 
>>>>>> get the file to be created in the folder.
>>>>>>
>>>>>> I have 3 days struggling with this and I don't see the problem. I 
>>>>>> copy the code to see if you can see the error.
>>>>>>
>>>>>> I take this opportunity to ask if it is valid to send additional 
>>>>>> arguments, since I need to send the name of the database and the company 
>>>>>> code to create the folder where the image will be saved.
>>>>>>
>>>>>> My code:
>>>>>>     public static void actualizaImagenFoto(String rutaImagen, Long 
>>>>>> visitaId) {
>>>>>>         try {
>>>>>>             MultipartRequest mp = new MultipartRequest();
>>>>>>             mp.setUrl(SERVER_URL + 
>>>>>> "ws_foto_imagen/ws_foto_imagen.php");
>>>>>>  //           mp.addArgument("token", UsuarioService.getToken());
>>>>>>  //           mp.addArgument("fot_visita_id", visitaId.toString());
>>>>>>             mp.addData("imagen", rutaImagen, "image/jpeg");
>>>>>>             addToQueue(mp);
>>>>>>             System.out.println(Integer.toString(mp.getResponseCode()) 
>>>>>> + "   " + mp.getResponseErrorMessage());
>>>>>>         } catch (IOException err) {
>>>>>>             Log.e(err);
>>>>>>             ToastBar.showErrorMessage("Error en actualización de la 
>>>>>> foto: " + err.getMessage());
>>>>>>         }
>>>>>>     }
>>>>>>
>>>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "CodenameOne Discussions" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/codenameone-discussions/2320c9e6-4b91-412c-b04f-55ba6587c88cn%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/codenameone-discussions/2320c9e6-4b91-412c-b04f-55ba6587c88cn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"CodenameOne Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/codenameone-discussions/a0743d6d-0de4-4149-a3b8-30e1e06c4c27n%40googlegroups.com.

Reply via email to