質問: new formdata(); form_data.append("file", file_data); alert(form_data); $.ajax({ url: "/uploads", datatype: 'script', cache: false, contenttype: false, processdata: false, data: form_data, type: 'post', success: function(){ alert("works"); } }); }); webサイトのルートディレクトリに "uploads"という名前のフォルダがあり、 "users"と "iis_users"に対する変更権限があります。file-formでファイルを選択してアップロードボタンを押すと、最初のアラートは "[object formdata]"を返します。 2番目のアラートは呼び出されず、「uploads」フォルダも空になります。誰かが私が間違っていることを見つけるのを手伝ってくれる?次のステップは、ファイルをサーバーサイドで生成された名前に変更することです。たぶん誰かが私にこれのための解決策を与えることができます。
回答: これはアップロードされたファイルを受け取るためのphpファイルです<? $data = array(); //check with your logic if (isset($_files)) { $error = false; $files = array(); $uploaddir = $target_dir; foreach ($_files as $file) { if (move_uploaded_file($file['tmp_name'], $uploaddir . basename( $file['name']))) { $files[] = $uploaddir . $file['name']; } else { $error = true; } } $data = ($error) ? array('error' => 'there was an error uploading your files') : array('files' => $files); } else { $data = array('success' => 'no files are sent','formdata' => $_request); } echo json_encode($data); ?>