Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说js上传图片和展示图片[亲测有效],希望能够帮助你!!!。
今天,是JavaScript回炉的第六十六天
上传图片和点击图片并在网页上展示
//提交图片使用的是jquery的ajax传递图片,后端进行图片储存
function picture(){
let number = arguments[0].length;
let data = new FormData();
data.append('number',number)
for(let i=0;i<number;i++){
data.append("file"+i, arguments[0][i]);
}
$.ajax({
type:'POST',
url:'http://127.0.0.1:8000/index_fontsize_addimg',
dataType: "json",
data: data,
processData: false,
contentType: false,
success: function () {
alert('提交成功')
}
})
}
//点击图标展示输入框
document.getElementById('input02').onclick = function(){
let arr = new Array();
document.getElementById('div01').style.display = 'block';
let text = document.querySelector("#textarea1");
let content;
let count = 0;
let fileData;
text.addEventListener("keyup", function(e) {
content = text.value;
})
document.getElementById('input01').onchange = function() {
count+=1;
fileData = this.files[0];
arr.push(fileData)
let photo = fileData.name;
if(content == undefined){
document.getElementById('textarea1').value ='['+count+'*'+photo+']';
}else{
document.getElementById('textarea1').value = content+'['+count+'*'+photo+']';
}
}
//点击确定写入数据库
document.getElementById('input03').onclick = function(){
let name = document.getElementById('input04').value;
let photo1 = document.getElementById('textarea1').value;
//图片传递给函数 picture()
picture(arr)
let url = 'http://127.0.0.1:8000/index_fontsize_add';
data={
name:name,
content:photo1
}
//ajax的函数写入功能
writeMysql(data,url);
}
}
//ajax的函数写入功能
function writeMysql(Data,Url){
let url = Url;
let data = Data;
let ajx = new XMLHttpRequest();
ajx.open('POST',url,true);
ajx.onreadystatechange = function(){
if(ajx.readyState == 4){
if(ajx.status == 200){
let content = JSON.parse(ajx.responseText)['data'][0];
//获取值传递给mysqlExhibition()函数
mysqlExhibition(content)
}
}
}
ajx.send(JSON.stringify(data));
}
//该函数主要是对数据库的内容进行提炼
function mysqlExhibition(exhibition){
let str = exhibition.content
let str01 = exhibition
let str1 = str.replace(/\[(.+?)\]/g,'')
let str03 = (str.match(/\*/g).length);
//把值传递给pic()函数
pic(str01,str1,str03)
}
//页面展示函数,主要是创建图片,这里我觉得一张博客写入5张图片应该可以了
function pic(exhibition,str1,str03){
let Url = 'http://127.0.0.1:8000/media/'
let div = document.getElementById('div03');
let p = document.createElement('p');
div.appendChild(p);
p.innerText = str1;
console.log(str03)
console.log(exhibition)
let arr = [exhibition.img0,exhibition.img1,exhibition.img2,exhibition.img3,exhibition.img4,exhibition.img5,exhibition.img6,exhibition.img7,exhibition.img8,exhibition.img9]
for(let i=0;i<str03;i++){
console.log(arr[i])
let img = document.createElement('img');
div.appendChild(img);
img.src = Url+arr[i];
img.id = 'img01';
}
}
//展示表格,博客的内容
function selectMysql(){
let AJX = new XMLHttpRequest();
let url = 'http://127.0.0.1:8000/index_fontsize';
AJX.open('GET',url,true);
AJX.onreadystatechange = function(){
if(AJX.readyState == 4){
if(AJX.status == 200){
let number = JSON.parse(AJX.responseText)['data'].length;
let content = JSON.parse(AJX.responseText)['data']
let table = document.getElementById('table01');
for(let i=0;i<number;i++){
let tr = document.createElement('tr');
let td = document.createElement('td');
let td1 = document.createElement('td');
let td2 = document.createElement('td');
table.appendChild(tr);
tr.appendChild(td);
tr.appendChild(td1);
tr.appendChild(td2);
td.innerText = content[i].name;
td2.innerText = '查询';
td2.style.background='blue';
}
}
}
}
AJX.send();
}
selectMysql();
//点击博客查询按键
document.getElementById('table01').addEventListener('click',function(e){
let data = {
name:e.path[1].children[1].innerText
}
let url = 'http://127.0.0.1:8000/index_fontsize_select';
//传递给writeMysql()函数
writeMysql(data,url)
})
上一篇
已是最后文章
下一篇
已是最新文章