開始する前に、私のウェブサイトではないウェブサイトを更新しなければならないことに注意してください。私がこれをやろうとすれば、私は違うやり方をするだろう。PHPを使用してajax経由でファイルをアップロードする問題
私は多くのフィールドを持つフォームを持つcakephpアプリケーションを持っています。このフォームでは、ファイルをブラウズして非同期で保存できます。ここではどのように行うのです:
$this->FileUpload->save($this->data)
が、これは常にfalseを返し、「いいえアップロードが渡されていない」:
<input type="file" name="data[FileUpload][file]" id="myFileToUpload">
<a id="pickFile" href="#">Upload Now</a>
<script type="text/javascript">
$('#pickFile').click(function (e) {
e.preventDefault();
$.post(
"/admin/FileUploads/saveFromFlash/<?php e($session->id()) ?>", {
data: $("#myFileToUpload").val()
}, function (data) {
$("#returnedContentFromAjax").html(JSON.stringify(data));
},
"json");
});
</script>
主に呼ばれる関数は、これを行います。ここでは、エラーメッセージを作成する行は次のとおりです。
if (!isset($this->data['FileUpload']['file'])) {
$this->setUploadError('No upload passed');
return false;
}
私はこれがあると思いますどのようにAJAXを経由して「[ 『するFileUpload』] [ 『ファイル』]の$ this - >データ」これを送信する...見当もつかない私はここに渡すためにどのようなオブジェクトを知らないので、重要な問題:
{ data:$("#myFileToUpload").val() },
私はそれにしてきたすべての夜は、任意の助けを大幅に要約する
#myFileToUploadはINPUTタイプ= "FILE"エレメントですか?あなたはjavascriptからファイルの内容にアクセスすることはできません。この質問を見て:http://stackoverflow.com/questions/543926/is-it-possible-to-ajax-a-file-upload – russau
ああ...まあそれは私のための終わりです^^ありがとうAnswer – marcgg
ファイルアップロードが別の形式であっても、フォームプラグインを使用できますか? – marcgg