Pertama, mari kita ambil rendering:
Ini adalah kode yang saya buat untuk lebih banyak gambar pada waktu itu. Saya akan mengambilnya untuk Anda pelajari (beberapa tempat perlu dimodifikasi oleh kepribadian Anda sendiri, dan arah umumnya benar)
Ada tiga dokumen yang terlibat secara total (secara teratur)
1. File Entri Rute (Saya /routes.js di sini, dan sering di /app.js)
Salinan kode adalah sebagai berikut:
// Tambahkan makanan lezat
app.all ('/add', users.add);
2. File Pengontrol Menyusui (Saya /Routes/users.js di sini)
Salinan kode adalah sebagai berikut:
// Tambahkan makanan lezat
exports.add = function (req, res) {
if (req.method == "get") {
var user = {};
if (req.session.user) {
user = req.Session.user;
}
res.render ("Users/food_add", {title: 'Release food-'+config.name, name: config.name, user: user});
} lain jika (req.method == "post") {
// Dapatkan data
var x = req.body.x;
var y = req.body.y;
var cat_id = req.body.cat_id;
var cat_name = req.body.cat_name;
var address = req.body.address;
var title = req.body.title;
var desc = req.body.desc;
var content = req.body.content;
var pics = '';
var harga = req.body.price;
tag var = req.body.tags;
var add_time = date.parse (tanggal baru ())/1000;
Dukungan var = 0;
var uid = req.body.uid;
// Memproses unggahan gambar
//console.dir(req.files);
var file_obj = req.files.pics;
//console.log(file_obj.length);
var file_obj2 = [];
untuk (var i = 0; i <file_obj.length; i ++) {
if (file_obj [i] .name) {
file_obj2.push (file_obj [i]);
}
}
var length = file_obj2.length;
if (length> 0) {
file_obj2.foreach (function (item, index) {
if (item.path) {
var tmppath = item.path;
var type = item.type;
var extension_name = "";
// Pindah ke direktori yang ditentukan dan biasanya meletakkannya di bawah file gambar publik
// Pastikan jalur sudah ada saat bergerak, jika tidak, kesalahan akan dilaporkan
var tmp_name = (date.parse (tanggal baru ())/1000);
tmp_name = tmp_name+''+(math.round (math.random ()*9999));
// menilai jenis file
switch (type) {
case 'Image/pjpeg': extension_name = 'jpg';
merusak;
case 'Image/jpeg': extension_name = 'jpg';
merusak;
case 'Image/gif': extension_name = 'gif';
merusak;
case 'Image/png': extension_name = 'png';
merusak;
case 'image/x-png': extension_name = 'png';
merusak;
case 'Image/BMP': extension_name = 'bmp';
merusak;
}
var tmp_name = tmp_name+'.'+extension_name;
var targetPath = 'publik/gambar/' + tmp_name;
console.log (tmppath);
// Pindahkan file sementara yang diunggah ke direktori yang ditentukan
fs.rename (tmppath, targetpath, function (err) {
if (err) {
Lempar err;
}
if (pics) {
foto += ',' +tmp_name;
}kalau tidak{
foto += tmp_name;
}
// menilai apakah itu selesai
//console.log(index);
// Hapus file sementara
fs.unlink (tMppath, function () {
if (err) {
Lempar err;
}kalau tidak{
if ((index+1) == panjang) {
Console.log (TargetPath);
// Pemrosesan unggah selesai
//data
var data = {
x: x, // bujur
Y: Y, // Dimensi
cat_id: cat_id, // ID kategori
CAT_NAME: CAT_NAME, // Nama kategori
Alamat: Alamat, // Alamat
Judul: Judul, // Judul
Desc: Desc, // Pendahuluan
Konten: Konten, // Konten
foto: foto, // bidang gambar, terpisah beberapa gambar dengan ','
Harga: Harga, // Harga
Tag: tag, // tag dipisahkan oleh ','
add_time: add_time, // dukungan
Dukungan: Dukungan, // Dukungan default adalah 0
uid: uid // ID pengguna bisa anonim
};
food_predao.insert (data, fungsi (err, makanan) {
if (err) {
res.json ({err: 100, konten: 'kesalahan database'});
}kalau tidak{
res.json ({err: 0, konten: 'rilis berhasil!', data: food});
}
});
}
}
});
});
}
});
}kalau tidak{
// tidak ada gambar
//data
var data = {
x: x, // bujur
Y: Y, // Dimensi
cat_id: cat_id, // ID kategori
CAT_NAME: CAT_NAME, // Nama kategori
Alamat: Alamat, // Alamat
Judul: Judul, // Judul
Desc: Desc, // Pendahuluan
Konten: Konten, // Konten
foto: foto, // bidang gambar, terpisah beberapa gambar dengan ','
Harga: Harga, // Harga
Tag: tag, // tag dipisahkan oleh ','
add_time: add_time, // dukungan
Dukungan: Dukungan, // Dukungan default adalah 0
uid: uid // ID pengguna bisa anonim
};
food_predao.insert (data, fungsi (err, makanan) {
if (err) {
res.json ({err: 100, konten: 'kesalahan database'});
}kalau tidak{
res.json ({err: 0, konten: 'rilis berhasil!', data: food});
}
});
}
}
};
3. Lihat file (saya /views/users/food_add.ejs di sini)
Salinan kode adalah sebagai berikut:
<tyle>
.upload_item {width: 50px; Tinggi: 45px; overflow: tersembunyi; perbatasan: 2px putus #bfbfbf; float: left; margin-right: 10px;}
.upload_item_add {lebar: 50px; Tinggi: 45px; Tampilan: Blok; Line-Height: 42px; Teks-Align: tengah; font-size: 30px; kursor: pointer;}
.upload_input {}
</tyle>
<script>
var add = {
unggah_click: function (obj) {
$ (obj) .parent (). Anak -anak (). Persamaan (1) .klick ();
},
unggah_change: function (obj) {
Jalur var;
path = $ (obj) .val (); // C:/Dokumen dan Pengaturan/HUD/Desktop/AddFile.jpg
var aa;
aa = path.split ('.');
//alert(aaaceAa.length-1]); // hasil jpg
nama var;
name = path.split ('//');
var bb = name [name.length-1];
// peringatan (bb.substr (0, bb.indexof ('.'))); // hasil addfile
$ (obj) .parent (). Anak -anak (). EQ (0) .css ('fontsize', '12px');
$ (obj) .parent (). css ('borderstyle', 'solid');
$ (obj) .parent (). Anak -anak (). Persamaan (0) .html (bb.substr (0, bb.indexof ('.')));
if ($ (obj) .parent (). attr ('index') == 1) {// tambahkan baru
var html = '<div index = "1"> <span onclick = "add.upload_click (this)">+</span> <input type = "file" name = "pics" id = "pics" onchange = "add.upload_change (ini)"/> </div>';
$ ('#unggah_box'). append (html);
$ (obj) .parent (). attr ('index', '0');
}
}
};
</script>
<Form Method = "Post" Action = "/Add" Enctype = "Multipart/Form-Data">
<able>
<tr>
<td> bujur: </td> <td> <input type = "text" name = "x" id = "x"/> </td>
</tr>
<tr>
<td> dimensi: </td> <td> <input type = "text" name = "y" id = "y"/> </td>
</tr>
<tr>
<td> Kategori: </td> <td> <pilih name = "cat_id"> <option value = "1"> Kategori 1 </tiption> </pilih> </td>
</tr>
<tr>
<td> Alamat: </td> <td> <input type = "text" name = "address" id = "address"/> </td>
</tr>
<tr>
<td> Judul: </td> <td> <input type = "text" name = "title" id = "title"/> </td>
</tr>
<tr>
<td> Pendahuluan: </td> <td> <input type = "text" name = "desc" id = "desc"/> </td>
</tr>
<tr>
<td> konten: </td> <td> <input type = "text" name = "content" id = "content"/> </td>
</tr>
<tr>
<td> gambar: </td> <td id = "unggah_box"> <div index = "0" style = "display: none;"> <span onclick = "add.upload_click (this)">+</span> <input type = "file" name = "pics" id = "pics" onchange = "add. OnClick = "add.upload_click (this)">+</span> <input type = "file" name = "pics" id = "pics" onchange = "add.upload_change (this)"/> </div> </td>
</tr>
<tr>
<td> Harga: </td> <td> <input type = "text" name = "price" id = "price"/> </td>
</tr>
<tr>
<td> Tag: </td> <td> <input type = "text" name = "tag" id = "tag"/> </td>
</tr>
<tr>
<td colspan = "2"> <input type = "kirim" value = "kirim" /> </td>
</tr>
</boable>
</form>