他の人が私がした問題に直面しないように、私はこの質問に自分で答えました。
質問する
1512 次
1 に答える
2
クライアント側 (Javascript コード) :
サーバーで laravel 4 を使用しているときに phonegap でファイル アップロード機能を使用する方法を理解するのにしばらく時間がかかりました。これは、助けを求めている可能性のある他の人のためのものです。次の
ことを確認してください。
- public/images (または、ファイル フォルダーをアップロードするその他の宛先フォルダーが書き込み可能であるか、エラー コード : 1が表示されます)
- options.fileKeyの値は一致する必要があります
Input::file(options.fileKey)->move()
- 投稿リクエストを行います。
$('.upload').on('クリック',function() {
navigator.camera.getPicture(cameraSuccess,cameraFail, { quality: 50, destinationType: Camera.DestinationType.FILE_URI, mediaType: Camera.MediaType.PICTURE, sourceType : Camera.PictureSourceType.PHOTOLIBRARY }); }); function cameraSuccess(imageURI) { //set file upload options var options = new FileUploadOptions(); options.fileKey="file"; options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1); options.mimeType="image/jpeg"; options.chunkedMode = false; var ft = new FileTransfer(); ft.upload(imageURI, encodeURI(url+'/file-upload'), win, fail, options); function win(r) { console.log("Code = " + r.responseCode); console.log("Response = " + r.response); console.log("Sent = " + r.bytesSent); } function fail(error) { console.log("An error has occurred: Code = " + error.code); console.log("upload error source " + error.source); console.log("upload error target " + error.target); }
サーバー側 (Laravel) コード
Route::post('/file-upload',function()
{
//I am storing the image in the public/images folder
$destinationPath = 'images/';
$newImageName='MyImage.jpg';
//Rename and move the file to the destination folder
Input::file('file')->move($destinationPath,$newImageName);
}
サーバー側で必要なのはそれだけです。アップロードが成功すると、成功コールバック関数winが実行されます。
于 2013-10-08T17:25:18.983 に答える