【问题标题】:uploading file from local storage to server with a chrome extension将文件从本地存储上传到带有 chrome 扩展名的服务器
【发布时间】:2016-01-22 05:54:44
【问题描述】:

如何使用 chrome 扩展将文件从用户本地存储上传到我的网络服务器。我使用了一个简单的文件类型输入标签,当用户点击它时,文件浏览器打开,扩展弹出消失,没有上传任何内容。我在 Ubuntu 15.04 上使用谷歌浏览器。

在我点击图标时加载的 popup.html 中:

<form method="post" action="" id="smsCampForm">

  <input type="text" name="recipent_number" id="recipent_number" placeholder="Recipent numbers separated by commas" class="form-control" required>
  <input type="file" name="fileToUpload" class="form-control" placeholder="Upload Excel File">
  <select name="listToSendSms" id="listToSendSms"></select>
  <textarea name ="message_content" rows="5" maxlength="120"  id="message_content" placeholder="Message maximum 120 characters" class="form-control"  required></textarea>
  <input type="submit" id="smsSubmit" name="submit" value="Send SMS" class="btn btn-success"></input>
</form>

我有一个 javascript 文件:

$("#smsCampForm").submit(function(event){
document.getElementById("smsSubmit").value = "Sending SMS...";
var formData = new FormData(this);
formData.append("chromeExtensionRequest","1");
$.ajax({
  url : myurl,
  type : 'POST',
  data : formData,
  processData : false,
  contentType : false,
  success : function(data,status){
    $("#smsResponse").html("<div class='alert alert-info'>"+data+"</div>");
    document.getElementById("smsSubmit").value = "Send SMS";
  }
});
event.preventDefault();
});
});

【问题讨论】:

  • 请向我们展示您编写的代码,以便我们提供帮助

标签: javascript jquery google-chrome google-chrome-extension


【解决方案1】:

由于弹出窗口在失去焦点时会被完全破坏,因此您的文件选择器基本上不会触发任何内容 - 所有代码都已卸载。

没有办法阻止这种行为;因此,您应该将其卸载到其他内容,例如在选项卡或背景页面中加载的单独页面。

【讨论】:

  • 在选项卡中加载单独的页面似乎对用户不友好,如何使用背景页面完成任务?我需要一个小主意。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-22
  • 2017-03-15
  • 2021-09-11
  • 2019-06-19
  • 2012-12-06
  • 1970-01-01
相关资源
最近更新 更多