1

PHPサーバーを介してphonegapから画像をアップロードするための次の例に従っています。

https://www.ibm.com/developerworks/community/blogs/94e7fded-7162-445e-8ceb-97a2140866a9/entry/upload_a_picture_using_phonegap_on_android8?lang=en

望ましくない動作は、機能する場合と機能しない場合があることです。これは、同じ画像と異なる画像の場合です。1 回の試行は失敗し (リターン コード 3)、同じ画像に対して再試行するとうまくいくようです。

一部の時間ではなく、常にすべての画像を再試行することなく、初めてアップロードできるようにしたいと思います。

これまでに見つかった既存のソリューションは、origin と chunkMode へのアクセスを参照していますが、まだ成功していません。

あなたの助けをいただければ幸いです。

PHPが実行されているサーバーとして、堅牢なUSBブリッジとXAMPPを使用しています。また、すべての最大制限が十分であることも確認しました (例: upload_max_filesize = 64M)。画像は 2M 未満です。サーバーを再起動してシャットダウンし、再度起動しましたが、まだ結果はありません。

以下の LogCat からの出力。

06-20 22:46:05.268: D/DroidGap(29662): Resuming the App
06-20 22:46:07.430: D/FileTransfer(29662): upload content://media/external/images/media/4610 to http://127.0.0.1:8092/upload_server/imageUpload.php
06-20 22:46:07.430: D/FileTransfer(29662): fileKey: file
06-20 22:46:07.440: D/FileTransfer(29662): fileName: 4610
06-20 22:46:07.440: D/FileTransfer(29662): mimeType: image/jpeg
06-20 22:46:07.440: D/FileTransfer(29662): params: {}
06-20 22:46:07.440: D/FileTransfer(29662): trustEveryone: true
06-20 22:46:07.440: D/FileTransfer(29662): chunkedMode: false
06-20 22:46:07.440: D/FileTransfer(29662): headers: null
06-20 22:46:07.440: D/FileTransfer(29662): objectId: 4
06-20 22:46:07.440: D/FileTransfer(29662): httpMethod: POST
06-20 22:46:07.480: D/FileTransfer(29662): Content Length: 1201787
06-20 22:46:07.490: W/FileTransfer(29662): Error getting HTTP status code from connection.
06-20 22:46:07.490: W/FileTransfer(29662): java.io.EOFException
06-20 22:46:07.490: W/FileTransfer(29662):  at libcore.io.Streams.readAsciiLine(Streams.java:203)
06-20 22:46:07.490: W/FileTransfer(29662):  at libcore.net.http.HttpEngine.readResponseHeaders(HttpEngine.java:560)
06-20 22:46:07.490: W/FileTransfer(29662):  at libcore.net.http.HttpEngine.readResponse(HttpEngine.java:813)
06-20 22:46:07.490: W/FileTransfer(29662):  at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:274)
06-20 22:46:07.490: W/FileTransfer(29662):  at libcore.net.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:486)
06-20 22:46:07.490: W/FileTransfer(29662):  at org.apache.cordova.FileTransfer.createFileTransferError(FileTransfer.java:626)
06-20 22:46:07.490: W/FileTransfer(29662):  at org.apache.cordova.FileTransfer.access$600(FileTransfer.java:67)
06-20 22:46:07.490: W/FileTransfer(29662):  at org.apache.cordova.FileTransfer$1.run(FileTransfer.java:523)
06-20 22:46:07.490: W/FileTransfer(29662):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
06-20 22:46:07.490: W/FileTransfer(29662):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
06-20 22:46:07.490: W/FileTransfer(29662):  at java.lang.Thread.run(Thread.java:856)
06-20 22:46:07.500: E/FileTransfer(29662): {"target":"http:\/\/127.0.0.1:8092\/upload_server\/imageUpload.php","source":"content:\/\/media\/external\/images\/media\/4610","http_status":0,"code":3}
06-20 22:46:07.500: E/FileTransfer(29662): java.net.SocketException: sendto failed: EPIPE (Broken pipe)
06-20 22:46:07.500: E/FileTransfer(29662):  at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:517)
06-20 22:46:07.500: E/FileTransfer(29662):  at libcore.io.IoBridge.sendto(IoBridge.java:486)
06-20 22:46:07.500: E/FileTransfer(29662):  at java.net.PlainSocketImpl.write(PlainSocketImpl.java:508)
06-20 22:46:07.500: E/FileTransfer(29662):  at java.net.PlainSocketImpl.access$100(PlainSocketImpl.java:46)
06-20 22:46:07.500: E/FileTransfer(29662):  at java.net.PlainSocketImpl$PlainSocketOutputStream.write(PlainSocketImpl.java:270)
06-20 22:46:07.500: E/FileTransfer(29662):  at libcore.net.http.FixedLengthOutputStream.write(FixedLengthOutputStream.java:41)
06-20 22:46:07.500: E/FileTransfer(29662):  at java.io.OutputStream.write(OutputStream.java:82)
06-20 22:46:07.500: E/FileTransfer(29662):  at org.apache.cordova.FileTransfer$1.run(FileTransfer.java:440)
06-20 22:46:07.500: E/FileTransfer(29662):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
06-20 22:46:07.500: E/FileTransfer(29662):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
06-20 22:46:07.500: E/FileTransfer(29662):  at java.lang.Thread.run(Thread.java:856)
06-20 22:46:07.500: E/FileTransfer(29662): Caused by: libcore.io.ErrnoException: sendto failed: EPIPE (Broken pipe)
06-20 22:46:07.500: E/FileTransfer(29662):  at libcore.io.Posix.sendtoBytes(Native Method)
06-20 22:46:07.500: E/FileTransfer(29662):  at libcore.io.Posix.sendto(Posix.java:146)
06-20 22:46:07.500: E/FileTransfer(29662):  at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:177)
06-20 22:46:07.500: E/FileTransfer(29662):  at libcore.io.IoBridge.sendto(IoBridge.java:484)
06-20 22:46:07.500: E/FileTransfer(29662):  ... 9 more
06-20 22:46:07.500: E/FileTransfer(29662): Failed after uploading 0 of 1201787 bytes.
4

0 に答える 0