Javascript: upload a file/image

Untitled.png

Javascript上传一个文件或者图片

$('input[name=image]').click(function(){
  // 注意第一个[0]
  var blobFile = $(this)[0].files[0];
  // FormData对象
  var fd = new FormData();
  // 这里的"image"就是在服务器上获取的时候的名字
  // 例如PHP的话,$_FILE['image']就可以获取到
  fd.append("image", blobFile);
  // 判断文件大小,单位是byte
  if (blobFile.size >= 1024 * 1024 * 10 || blobFile.size < 1024 * 10) {
    return false;
  }
  // 
  $.ajax({
    url: "/api/v2/post/img",
    type: "POST",
    data: fd,
    processData: false,
    contentType: false,
    // contentType设置为false,默认是www-xxxxx
    dataType: 'json',
    success: function (res) {
      if (res.errcode == 0) {
        // 在caret所在处插入
        var name;
        var start = $("#p_ctt")[0].selectionStart,
          end = $("#p_ctt")[0].selectionEnd;
        if (start == end) name = 'image_' + parseInt(Math.random() * 100);
        else name = $('#p_ctt').val().substring(start, end);
        var new_content = $('#p_ctt').val().substring(0, start) + "\n![" + name + '](/post/image/' + res.errmsg.substring(0, res.errmsg.indexOf('.')) + ")\n" + $('#p_ctt').val().substring(end + 1);
        $('#p_ctt').val(new_content);
      }
    },
    error: function (jqXHR, textStatus, errorMessage) {
      console.log(errorMessage);
    }
  });
});

推荐阅读更多精彩内容