1

最近、ファイルのアップロードにhttp://malsup.com/jquery/form/#file-uploadを使用しようとしましたが、サーバー上の特定のフォルダーに画像をアップロードする方法が完全にはわかりません。

jQueryは次のとおりです。

(function() {

var bar = $('.bar');
var percent = $('.percent');
var status = $('#status');

$('form').ajaxForm({
    beforeSend: function() {
        status.empty();
        var percentVal = '0%';
        bar.width(percentVal)
        percent.html(percentVal);
    },
    uploadProgress: function(event, position, total, percentComplete) {
        var percentVal = percentComplete + '%';
        bar.width(percentVal)
        percent.html(percentVal);
        //console.log(percentVal, position, total);
    },
    complete: function(xhr) {
        status.html(xhr.responseText);
    }
}); 

})();

次にHTML:

<h1>File Upload Progress Demo #3</h1>
<code>&lt;input type="file" name="myfile[]"></code><br>
<code>&lt;input type="file" name="myfile[]"></code><br>
<code>&lt;input type="file" name="myfile[]"></code>
<form action="files-raw.php" method="post" enctype="multipart/form-data">
    <input type="file" name="myfile[]"><br>
    <input type="file" name="myfile[]"><br>
    <input type="file" name="myfile[]"><br>
    <input type="submit" value="Upload File to Server">
</form>

<div class="progress">
    <div class="bar"></div >
    <div class="percent">0%</div >
</div>

<div id="status"></div>
4

2 に答える 2

0

MVCにある場合は、ビューにあります

<form action="Home/HandleFileUpload" method="post" enctype="multipart/form-data">
    <input type="file" name="myfile[]"><br>
    <input type="file" name="myfile[]"><br>
    <input type="file" name="myfile[]"><br>
    <input type="submit" value="Upload File to Server">
</form>

そしてコントローラーでこれを書いてください...

[HttpPost]
        public ActionResult HandleFileUpload()
        {
            if (!string.IsNullOrEmpty(Request.Headers["X-File-Name"]))
            {
                string path = Server.MapPath(string.Format("~/Uploads/{0}", Request.Headers["X-File-Name"]));
                using (var fileStream = new FileStream(path, FileMode.OpenOrCreate))
                {
                    Request.InputStream.CopyTo(fileStream);
                }

                return this.Json(new { success = true });
            }

            return this.Json(new { success = false });
        }
       }
于 2013-01-29T08:56:22.480 に答える
0

サーバー側のコードは、アップロードされたファイルをサーバーに保存する役割を果たします。PHPを使用している場合は、を介してファイルにアクセスできます$_FILES["myfile"]。このようなコードが必要だと思いますが、

$newdirectory = "/your/directory";
$count = 0;
foreach ($_FILES['myfile']['name'] as $filename)
{
    $temp = $_FILES['myfile']['tmp_name'][$count];
    move_uploaded_file($temp, $newdirectory . '/' . basename($filename));
    $count++;
}

これはあなたが求めているように行う必要があります。ここここでのアップロードの処理に関する詳細情報move_uploaded_file

于 2013-01-29T09:11:33.010 に答える