Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript将文件发送到socket.io_Javascript_Php_Html_Node.js_Socket.io - Fatal编程技术网

使用javascript将文件发送到socket.io

使用javascript将文件发送到socket.io,javascript,php,html,node.js,socket.io,Javascript,Php,Html,Node.js,Socket.io,我是socket.io上的新用户,我在创建的应用程序上使用socket.io作为聊天功能。我在发送文件时遇到问题。我试着从互联网上搜索参考资料,它引用了一个上传的socketio文件库。现在我对使用这个库感到困惑,我被编写算法所束缚。因此,我需要帮助完成这项工作,以便它能够顺利运行。现在我将文件保存到数据库中,目录使用PHP 对不起,我的英语不好^_^ app.js 文件html $(文档).ready(函数(){ var socket=io.connect('http://localhost

我是socket.io上的新用户,我在创建的应用程序上使用socket.io作为聊天功能。我在发送文件时遇到问题。我试着从互联网上搜索参考资料,它引用了一个上传的socketio文件库。现在我对使用这个库感到困惑,我被编写算法所束缚。因此,我需要帮助完成这项工作,以便它能够顺利运行。现在我将文件保存到数据库中,目录使用PHP

对不起,我的英语不好^_^ app.js

文件html


$(文档).ready(函数(){
var socket=io.connect('http://localhost:3001');
$(document).on(“click”,“.sendpesan”,函数(){
var site=$(“#site”).val();
var id_penerima=$(“#id_penerima”).val();
var id_komen=$(“#id_komen”).val();
var id_运算符=$(“#id_运算符”).val();
var id_pengirim=$(“#id_pengirim”).val();
var pesan=$(“#pesan”).val();
var字符串=”;
var file_input=$(“#uplaod”);
var file=document.getElementById(“上载”).files[0];
var formdata=new formdata();
formdata.append(“站点”,站点);
append(“userfile”,file);
formdata.append(“id_penerima”,id_penerima);
formdata.append(“id\u pengirim”,id\u pengirim);
formdata.append(“id_komen”,id_komen);
追加(“id\u运算符”,id\u运算符);
formdata.append(“比桑”,比桑);
$.ajax({
键入:“POST”,
url:“index.php/Mors/save_pesan”,
contentType:false,
processData:false,
数据:formdata,
成功:功能(响应){
//$(“#上传证据关闭”)。单击();
//警报(“苏克斯”);
//file_input.replaceWith(file_input.val(“”).clone(true));
toastr.options={
关闭按钮:对,
是的,
showMethod:'slideDown',
超时:1500
};
var split=响应。split(“-”);
如果(拆分[0]=“pesan berhasil disimpan”){
toastr.success('Pesan Berhasil dikirim','INFORMASI');
var uploader=新的SocketIOFileUpload(socket);
uploader.listenInput(文件);
发出(“私有消息”{
“内容”:文件,
“useridnya”:id_pengirim,
“topik”:“komenid”+id_komen,
});
}否则{
toastr.成功(“Pesan Gagal dikirim”,“INFORMASI”);
}
document.getElementById(“聊天室表单”).reset();
$(“#比桑”).val(字符串);
$('.text_filex').html('');
}
});
});
var html='';
socket.on(“新消息”,函数(数据){
var img=新图像();
img.src='data:image/jpeg;base64'+data.buffer;
var-gambar='';
html=“”+
''+
''+
''+
''+
“

”+img+“+data.content+”

”+ ''+ ''+ //''+数据[i].waktu+''+baca+''+ ''+ '' $(“#显示#数据#聊天”).append(html); });
您是否收到任何特定的错误消息?@PedroLobito error未找到,但我无法将图像从socket.io返回到html,所以您可以帮助我
var siofu = require("socketio-file-upload");
var req_express = require('express'),
    app = req_express(), 
    server = require('http').createServer(app),
    io = require('socket.io').listen(server),
    fs = require('fs')

app.use(siofu.router);
server.listen(3001);

var clients = [];

io.sockets.on('connection', function (socket) {
    const uploader = new siofu();
    uploader.listen(socket);

    socket.on('private-message', function(data){
       console.log("data content nya "+data.content)
       socket.join(data.topik)
       io.to(data.topik).emit("new-message", {image: true, buffer: data.toString('base64')});
       console.log("Sending: " + data.content + " to " + data.topik);
    });

    socket.on('disconnect', function() {

       for(var name in clients) {
         if(clients[name].socket === socket.id) {
           delete clients[name];
           break;
         }
       }
       console.log('disconnected client')
    })
});
<script type="text/javascript">
$(document).ready(function() {
var socket = io.connect('http://localhost:3001');

$(document).on("click",".sendpesan",function(){

    var site = $("#site").val();
    var id_penerima = $("#id_penerima").val();
    var id_komen = $("#id_komen").val();
    var id_operator = $("#id_operator").val();
    var id_pengirim = $("#id_pengirim").val();
    var pesan = $("#pesan").val();
    var string="";
    var file_input = $("#uplaod");

    var file = document.getElementById("upload").files[0];
    var formdata = new FormData();

    formdata.append("site", site);
    formdata.append("userfile", file);
    formdata.append("id_penerima", id_penerima);
    formdata.append("id_pengirim", id_pengirim);
    formdata.append("id_komen", id_komen);
    formdata.append("id_operator", id_operator);
    formdata.append("pesan", pesan);
        
    $.ajax({
        type : 'POST',
        url  : "<?php echo base_url();?>index.php/Mors/save_pesan",         
        contentType: false,
        processData: false,
        data: formdata,
        success : function(response){
           
            //$("#do_upload_eviden .close").click();
            //alert('sukses');
            //file_input.replaceWith(file_input.val('').clone(true));

            toastr.options = {
                closeButton: true,
                progressBar: true,
                showMethod: 'slideDown',
                timeOut: 1500
            };

            var split = response.split("-");
            
            if(split[0]=="pesan berhasil disimpan"){
                toastr.success('Pesan Berhasil dikirim', 'INFORMASI');
                var uploader = new SocketIOFileUpload(socket);
                uploader.listenOnInput(file);
                socket.emit("private-message", {
                    "content": file,
                    "useridnya": id_pengirim,
                    "topik" : "komenid"+id_komen,
                });
                
            }else{
                toastr.success('Pesan Gagal dikirim', 'INFORMASI');
            }
            document.getElementById("chat_form").reset();
            

            $("#pesan").val(string);
            $('.text_filex').html('');   

        }
    });
});

var html ='';
socket.on("new-message", function(data){
    var img = new Image();
    img.src = 'data:image/jpeg;base64,' + data.buffer;
    

    var gambar ='';
    html ='<article id="chat-id-1" class="chat-item right">'+
                ' <a href="#" class="pull-right thumb-sm avatar"><img src="<?php echo base_url('assets/image/admin.png');?>" class="img-circle"></a>'+
                '<section class="chat-body">'+
                    '<div class="panel  bg bg-success text-sm m-b-none">'+
                        '<div class="panel-body" style="padding: 5px;">'+
                            '<span class="arrow right"></span>'+
                            ' <p class="m-b-none" > '+img+' '+data.content+' </p>'+
                        '</div>'+
                    '</div>'+
                    //'<small class="text-muted"><i class="fa fa-ok text-success"></i>'+data[i].waktu+' '+baca+'</small>'+
                '</section>'+
            '</article>'

    $("#show_data_chat").append(html);
});