Uploading SSH public key ... failed!

第一次接触heroku,遇到了 Uploading SSH public key ... failed!  错误,折腾了一天,还是找不出原因。

所幸的是问题最终解决了,只是本人还是菜鸟,还弄不明白其中的原因,故作此记录。


为了排除错误,我不断尝试Google上的各种方法,

其中尝试直接使用 ssh-keygen -t rsa  heroku keys:add 命令重新创建和添加秘钥,但结果依然报错。

但神奇的是,后来使用以下命令格式,问题便解决了

ssh-keygen -t rsa -C "giordano.scalzo[at]gmail.com" -f  ~/.ssh/id_rsa_heroku

ssh-add ~/.ssh/id_rsa_heroku

heroku keys:add ~/.ssh/id_rsa_heroku.pub


转载于:https://my.oschina.net/xing240/blog/186482

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 Vue.js 实现云盘前端交互可以按照以下步骤进行: 1. 创建 Vue 实例:在 HTML 文件中引入 Vue.js,并创建一个 Vue 实例作为整个应用的入口。 ```html <!DOCTYPE html> <html> <head> <title>Cloud Storage App</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app"> <!-- Your app content goes here --> </div> <script> new Vue({ el: "#app", // Your Vue app options go here }); </script> </body> </html> ``` 2. 定义数据和方法:在 Vue 实例的 `data` 属性中定义云盘相关的数据,如文件列表、文件上传状态等。然后,在 `methods` 中定义处理用户交互的方法,如文件上传、文件下载等。 ```javascript new Vue({ el: "#app", data: { fileList: [], uploading: false, // Other data properties go here }, methods: { uploadFile() { // Handle file upload logic here }, downloadFile(file) { // Handle file download logic here }, // Other methods go here } }); ``` 3. 绑定数据和事件:在 Vue 实例对应的 HTML 模板中,使用指令和事件绑定来将数据和方法与用户界面进行交互。 ```html <div id="app"> <input type="file" @change="uploadFile"> <ul> <li v-for="file in fileList" :key="file.id"> {{ file.name }} <button @click="downloadFile(file)">Download</button> </li> </ul> </div> ``` 4. 发送异步请求:根据上传文件和下载文件的需求,使用 Vue.js 提供的异步请求库(如 Axios、Vue-resource 等)来与后端进行数据交互,实现文件上传和下载功能。 ```javascript methods: { uploadFile(event) { this.uploading = true; var file = event.target.files[0]; var formData = new FormData(); formData.append("file", file); axios.post("/api/upload", formData) .then(response => { // Handle successful upload this.uploading = false; }) .catch(error => { // Handle upload error this.uploading = false; }); }, downloadFile(file) { axios.get(`/api/download/${file.id}`, { responseType: "blob" }) .then(response => { // Handle successful download var url = window.URL.createObjectURL(new Blob([response.data])); var link = document.createElement("a"); link.href = url; link.setAttribute("download", file.name); document.body.appendChild(link); link.click(); document.body.removeChild(link); }) .catch(error => { // Handle download error }); }, // Other methods go here } ``` 这只是一个简单的示例,具体的实现方式会根据您的需求和后端接口的设计而有所不同。您可以根据自己的情况进行适当的调整和扩展。同时,您还可以使用 Vue.js 提供的其他特性,如计算属性、组件化等来优化和拓展您的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值