㈠ 前端怎么传图片给后台(java)
你可以现在前台控制台打印一下base64的流,看看是否获取图片成功。如果成功再去后台看看获取的文件信息,haerd中是否有数据。
然后就是你没有后台代码,这里也不好判断是否是接收问题
㈡ web前端上传图片的几种方法
下面给你介绍3种web前端上传图片的方法:
1.表单上传
最传统的图片上传方式是form表单上传,使用form表单的input[type=”file”]控件,打开系统的文件选择对话框,从而达到选择文件并上传的目的。
ajax无刷新上传
Ajax无刷新上传的方式,本质上与表单上传无异,只是把表单里的内容提出来采用ajax提交,并且由前端决定请求结果回传后的展示结果。
3.各类插件上传
当上传的需求要求可预览、显示上传进度、中断上传过程、大文件分片上传等等,这时传统的表单上传很难实现这些功能,我们可以借助现有插件完成。
如网络上传插件Web Uploader、jQuery图片预览插件imgPreview 、拖拽上传与图像预览插件Dropzone.js等等,大家可根据项目实际需求选择适合的插件。
㈢ 前端批量上传图片后端怎么接收
循环啊 异步啊,直接转换成base64传到后台,后台循环解码,保存在文件夹里面不就可以了。
㈣ 前端实现多图片上传获取到一个数组怎么在后台接受这个数组
// 这是一个嵌入到网页中动态显示50是张图片的java小应用程序,希望你对有帮助!
import java.awt.*;
import java.applet.*;
public class Picture extends Applet
{
Image[] theImages;
int nNum = 50;
int nNow = 0;
public void init()
{
theImages = new Image[nNum];
for(int i = 0; i < nNum ; i++)//将图片装入数组
theImages[i] = getImage(getDocumentBase(), "pic" + Integer.toString(i) + ".jpg");
}
public void start()
{
nNow = 0;
}
public void paint(Graphics g)
{
g.drawImage(theImages[nNow],500,500,this);
nNow++;
if(nNow>=nNum)
nNow = 0;
try
{
Thread.sleep(50);
}
catch(Exception e){showStatus(e.toString());}
repaint();
}
public void main()
{
Graphics g;
g=this.getGraphics ();
init();
start();
paint(g);
}
}
㈤ 前端上传文件的几种方法
第一种:经典的form和input上传。
设置form的aciton为后端页面,enctype="multipart/form-data",type=‘post’
<formaction='http://www.ty2y.com/'enctype="multipart/form-data"type='post'><inputtype='file'><inputtype='hidden'name='userid'><inputtype='hidden'name='signature'><button>提交</button></form>
使用input选择文件,设置好其他input的值,点击提交,将文件数据及签名等认证信息发送到form设置的action对应的页面,浏览器也会跳转到该页面。触发form表单提交数据的方式有2种,一种是在页面上点击button按钮或<input
type='submit'>按钮触发,第二种是在js中执行form.submit()方法。
优点:使用简单方便,兼容性好,基本所有浏览器都支持。
缺点:1. 提交数据后页面会跳转(下面会讲如何禁止页面跳转)。
2.因为是浏览器发起的请求,不是一个ajax,所以前端无法知道什么时候上传结束。
3. form表单里发送除文件外的数据,一般是新建一个type=hidden的input,value=‘需要传的数据’,每发送一个数据就需要一个input,一旦多了就会使得dom看起来比较冗余。
小技巧:
form表单提交数据后会自动跳转到action指定的页面,为了禁止页面跳转,可以在页面中新建一个空的ifame,比如name='upload',然后设置form的target="Uploader",form有一个target的属性,规定在何处打开action,这样form提交数据后就会仍停留在当前页。代码如下:
<formaction='http://www.jshaman.com/'enctype="multipart/form-data"type='post'target="uploader1"><inputtype='file'><button>提交</button></form><ifrmaename='upload'id='uploader1'></iframe>
这样写的另一个好处是,可以知道什么时候上传完成并接收到后端的回调结果。比如上面这个例子,文件数据发送到了
'uploadFile.php',假设该页面处理完数据后返回了一个地址,该地址会被写入到之前的iframe中。所以在ifame的onload函数触发时,也就是上传完成后,可以在iframe中读取到后端返回的数据。
variframe=document.getElementById('upload1');
iframe.onload=function(){
vardoc=window.frames['uploader1'].document;varpre=doc.getElementsByTagName('pre');varobj=JSON.parse(pre[0].innerHTML);
}
使用这种方法时需要注意,iframe有跨域限制,创建出来的iframe的地址如果和当前页面地址不同源,会报错。这种情况下,建议大家在iframe的onload函数中,再次向后端请求一个接口获取文件地址,而不是直接去iframe里读取。或者返回这样的数据。
<scripttype="text/javascript">window.top.window[callback](data)</script>
callback是和前端约定好的名字,上传完成后触发该函数并返回后端数据。
第二种:使用formData上传。
用js构造form表单的数据,简单高效,但最低只兼容IE10,所以需要兼容IE9的童鞋们就略过这个方法吧。
html:
<inputtype='file'>
js:
varformData=newFormData();
formData.append("userid",userid);
formData.append("signature",signature);
formData.append("file",file);//file是blob数据//再用ajax发送formData到服务器即可,
注意一定要是post方式上传
说明:第一种方法提到了创建多个type=‘hidden’的input来发送签名数据,这儿可以用formData.append方法来代替该操作,避免了dom中有多个input的情况出现。最后将file数据也append到formData发送到服务器即可完成上传。
优点:由于这种方式是ajax上传,可以准确知道什么时候上传完成,也可以方便地接收到回调数据。
缺点:兼容性差
第三种:使用fileReader读取文件数据进行上传。
HTML5的新api,兼容性也不是特别好,只兼容到了IE10。
varfr=newFileReader();
fr.readAsDataURL(file);
fr.onload=function(event){vardata=event.target.result;//此处获得的data是base64格式的数据img.src=data;
ajax(url,{data},function(){})
}
上面获得的data可以用来实现图片上传前的本地预览,也可以用来发送base64数据给后端然后返回该数据块对应的地址。
优点:同第二种
缺点:一次性发送大量的base64数据会导致浏览器卡顿,服务器端接收这样的数据可能也会出现问题。
㈥ 前端页面间数据传递的问题
那就是普通的get传值或者post传值了,把图片的比如数据库id传到B,比如a里打开B就可以是
b.xxx?pic=3,5,7,9,20
㈦ HTML 网页中怎么上传图片到某个文件夹
上传至某个文件夹,预览是在前端完成的
此时还没有进行上传操作,上传是需要后台提供接口的
可以通过form表单上传,后台通过php,java,asp等
接收form提交的文件存储到文件中返回文件的网址链接
㈧ js 前端上传多张图片
可以用webuploader插件,上传成功后,服务端返回图片地址,客户端<img>显示图片
X关闭按钮这个得自己用css样式控制,点击X后,服务端删除图片,然后前端移除该X掉的图片
㈨ 如何上传图片到百度
使用网络富文本编辑器ueditor(下面简称ue),我不得不给它一个大大的赞。我们在网站建设、前端开发时,网站的内容管理就使用了它。对于它的多图片上传和附件上传,个人感觉很好用,我就琢磨着是否可以外部调用多图上传和附件上传组件为自己所用,并封装成一个插件,节省单独开发的成本。
有了这个想法后,着手操作,理下实现思路,得出实现的关键在于监听这两个组件在编辑器里的插入动作。打开源码,苦心研究,皇天不负苦心人,终于摸索出解决方法,现在分享出来,给拥有同样想法的小伙伴,为网站建设届尽一份力。
注:本文基于UEditor1.4.3.3版本。
1、引入ue相关文件,写好初始代码
为了更好的封装整一个单独的插件,这里我们要做到示例化ue后隐藏网页中的编辑窗口,并移除焦点。
\u003C!doctype html>
\u003Chtml lang=\"zh-cn\">
\u003Chead>
\u003Cmeta charset=\"UTF-8\">
\u003Ctitle>外部调用UEditor的多图上传和附件上传\u003C/title>
\u003Cscript type=\"text/javascript\" charset=\"utf-8\" src=\"ueditor.config.js\">\u003C/script>
\u003Cscript type=\"text/javascript\" charset=\"utf-8\" src=\"ueditor.all.js\">\u003C/script>
\u003Cstyle>
ul{display: inline-block;width: 100%;margin: 0;padding: 0;}
li{list-style-type: none;margin: 5px;padding: 0;}
\u003C/style>
\u003C/head>
\u003Cbody>
\u003Ch1>外部调用UEditor的多图上传和附件上传示例\u003C/h1>
\u003Cbutton type=\"button\" id=\"j_upload_img_btn\">多图上传\u003C/button>
\u003Cul id=\"upload_img_wrap\">\u003C/ul>
\u003Cbutton type=\"
㈩ 三层架构多个ui前端的情况下,图片如何共享呢
有一个专门放图片的服务器集群。通过域名+相对URL的配置来实现共享。
比如你在网站后台上传了一张图片,首选它会把这张图片的原文件保存在一个文件夹下,然后再用这张图片生成各种大小的锁缩略图,打水印等。你上传一张2MB的手机照片。它会生成40*40,100*100,320*480......,等等。图片会用相对路径+缩略图尺寸的方式来命名,并以字符串形似存入数据库。这些图片甚至会备份几份,以免特殊情况下紧急访问。
在网站上就可以配置域名来访问了。如: image1.你的域名+URL。
在APP通过HTTP访问, image2.你的域名+URL。
在winform上可以使用bit64来显示, image3.你的域名+URL。
有些服务器每天接收3亿张图片上传。硬盘大小是有限的,服务器可以继续加,image1,image2,image3......域名也是可以继续解析的。
还有其他一些方案,大同小异。访问图片服务器,返回图片或bit64.