0

Webページを変更せずに、単一のファイルをサーバーに送信しようとしていました。このプラグインを使用することにしました: http://cmlenz.github.com/jquery-iframe-transport/ ウェブページを変更せずにアップロードを続行する方法について非常に混乱しています... uploadimg.php は次を返します:

<br />
<b>Notice</b>:  Undefined index: photo in <b>C:\website\uploadimg.php</b> on line <b>2</b><br />
<br />
<b>Notice</b>:  Undefined index: photo in <b>C:\website\uploadimg.php</b> on line <b>3</b><br />
<img src="userimg/" />

私のファイル:

postAd.php

<html>
<head>
<script src="jquery.js"></script>
<script src="jquery-iframe-transport.js"></script>
<script>
$(document).ready(function(){
    $('#photo1').on('change', function(){
        $.ajax({
            url: "uploadimg.php",
            files: $("#photo1:file"),
            iframe: true,
            processData: false
        }).done(function(data){
            console.log(data);
        });
    });
});
</script>
</head>
<body>
<input type='file' name='photo' id='photo1' /></br>
</body>
</html>

uploadimg.php

<?php 
$file_tmp = $_FILES['photo']['tmp_name'][0];
$file = $_FILES['photo']['name'][0];
move_uploaded_file($file_tmp, "userimg/$file");
echo '<img src="userimg/' .$file .'" />';
?>
4

3 に答える 3

0
function upload(event) {

var formData = new FormData($('#uploadForm')[0]);

$.ajax( {             
    url     : "upload.do",
    type        : "POST",
    data    : formData,
    cache   : false,
    contentType     : false,
    processData : false,

});

@RequestMapping(value = "/uploadCsr", method = RequestMethod.POST)
    @ResponseBody
    public String uploadCsr(@RequestParam("fileUpload") MultipartFile file, HttpServletResponse response) {
// read the file using inputstream

}
于 2013-07-01T09:57:40.833 に答える
0

フォームを送信していないため、「写真」フィールドは AJAX 呼び出しで送信されません。デバッガーを使用できる場合は、$_FILES 配列をチェックして、何が読み込まれたかを確認します。このから、「userfile」インデックスを探しているように見えますが、よくわかりません。

于 2012-04-20T18:51:07.057 に答える