zoukankan      html  css  js  c++  java
  • 一步一步搭建客服系统 (5) 发送图片、文件

    客服系统里,经常要发送图片文件,对方可以直接看到图片;如果发送文件,对方可以download下来。

    1 发送图片文件

    先利用jquery uploadify来上传图片:

    相关的三个images下的文件:

    http://yunpan.cn/cHgDdAGNUeMcF  访问密码 7705

    在后台把文件保存下来:

    完成之后,首先在自己的聊天框显示图片,然后再发送给对方:

    这里是发送给所有人:

    webrtc.sendToAll('chat', { message: img, nick: webrtc.config.nick });

    2 发送文件

    • 当有人进入聊天时,会有一个peer参数传进来,创建一个文件上传的按钮:

    webrtc.on('createdPeer', function (peer) {

    ……

    var fileinput = document.createElement('input');
    fileinput.type = 'file';

    • 为文件上传按钮添加change的事件,并用传进来的peer来发送文件:

    fileinput.addEventListener('change', function () {

    var file = fileinput.files[0];
    var sender = peer.sendFile(file);

    • 接收方用peer的fileTransfer事件来接收文件

    // receiving an incoming filetransfer
    peer.on('fileTransfer', function (metadata, receiver) {

    • 发送方和接收方都可以用progress事件来实现进度条效果:

    // hook up send progress
    sender.on('progress', function (bytesSent) {
        sendProgress.value = bytesSent;
    });

    // hook up receive progress
    receiver.on('progress', function (bytesReceived) {
       receiveProgress.value = bytesReceived;
    });

    最终效果图:

    clip_image002

    完整代码如下:

    如果不清楚webrtc为何物,请参考《3分钟实现网页版多人文本、视频聊天室 (含完整源码)》。

    一步一步搭建客服系统

    .

  • 相关阅读:
    深入浅出JSONP--解决ajax跨域问题
    Apache与Tomcat的区别
    项目终于接近尾声了
    交互设计[小插曲]--网站UI配色
    使用 Jasmine 进行测试驱动的 JavaScript 开发
    javascript单元测试
    MySQL查询当前数据库中所有记录不为空的表
    cannot be resolved to a type的错误
    oracle 表空数据导出dmp ,空表导出失败
    Iterable<E> Iterator<E>
  • 原文地址:https://www.cnblogs.com/fengwenit/p/4818301.html
Copyright © 2011-2022 走看看