uni-app HBuilderX外部命令+flashfxp实现FTP上传文件和目录

发布于 1周前 作者 vueper 来自 Uni-App

uni-app HBuilderX外部命令+flashfxp实现FTP上传文件和目录

HX非常好用,但是FTP插件一直没出来,好在可以用外部命令功能做一个。其实就是唤醒flashfxp实现FTP上传文件和目录,高手请绕路。

第一步:在HX的外部命令中增加一项

[
    {
        "name":"上传",
        "command":["D:/test.bat(第二步的bat文件的绝对路径)", "输入你的FTP账号", "输入你的FTP密码", "输入你的FTP服务器IP", "端口", "/", "${fileName}", "${file}", "${fileExtension}", "${projectDir}"],
        "type": "shell"
    }
]

第二步:把下面的命令保存为bat文件

@echo off
set path=这里替换成你的flashfxp的安装路径;%path%
setlocal enabledelayedexpansion
set wjmc=%6
set xmlj=%9
if "%8"=="""" (
set bdlj=%7\
) else (
set bdlj=%7
)
set yclj=!bdlj:%xmlj%=!
set yclj=%yclj:\=/%
flashfxp.exe -c2 -upload ftp://%1:%2@%3:%4 -localpath="%bdlj%"  -remotepath="%yclj%"
exit

完成之后在项目管理器中点文件右键–外部命令–上传

选择的是文件就是上传文件,选择的是目录就会上传整个目录和子目录里的所有文件。

下载的功能也差不多,我就不放出来了。本来想用ftp命令做的,但被动模式没搞定。

希望官方尽快出个ftp插件,最好有同步功能,毕竟对于运行在虚拟主机里的普通企业网站来说,ftp是最省事的了。


1 回复

在uni-app开发中,通过HBuilderX结合外部命令(如FlashFXP)实现FTP上传文件和目录的操作,虽然不常见,但可以通过脚本和命令行工具来实现。以下是一个基本思路和代码示例,帮助你理解如何实现这一功能。

基本思路

  1. 编写脚本:首先,你需要编写一个脚本来处理FTP上传。这个脚本可以是一个Shell脚本(适用于macOS/Linux)或Batch脚本(适用于Windows)。

  2. FlashFXP自动化:FlashFXP支持命令行参数和脚本,你可以编写FlashFXP脚本(.fxp文件)来定义上传操作,然后通过命令行调用FlashFXP执行该脚本。

  3. HBuilderX外部命令:在HBuilderX中配置外部命令,以便在构建或发布项目时调用上述脚本。

Shell脚本示例(macOS/Linux)

#!/bin/bash

# FlashFXP路径(请根据你的安装路径修改)
FLASHFXP="/Applications/FlashFXP.app/Contents/MacOS/FlashFXP"

# FlashFXP脚本路径
SCRIPT="/path/to/your/upload.fxp"

# 执行FlashFXP脚本
"$FLASHFXP" -script="$SCRIPT"

FlashFXP脚本示例(upload.fxp)

; FlashFXP Script
OpenSite "YourSiteName"
; 假设已经配置好站点信息

Put "/local/path/to/your/uni-app/dist/*" "/remote/path/on/ftp/"
; 从本地路径上传所有文件到远程路径

CloseSite
Quit

HBuilderX外部命令配置

  1. 打开HBuilderX,进入“工具”菜单,选择“外部命令配置”。
  2. 点击“添加”按钮,填写命令名称,如“FTP Upload”。
  3. 在“命令”一栏填写你的Shell脚本路径(或Batch脚本路径,视操作系统而定),例如/path/to/your/upload.sh
  4. 配置好其他选项,如工作目录等。
  5. 保存配置。

注意事项

  • 确保FlashFXP已经正确配置好站点信息,以便脚本能够自动登录并执行上传操作。
  • 脚本路径和命令要根据你的实际安装路径和操作系统进行调整。
  • 在实际开发中,可能需要更复杂的错误处理和日志记录,以便调试和监控上传过程。

通过上述步骤,你可以在HBuilderX中集成FTP上传功能,自动化地将uni-app构建后的文件上传到FTP服务器。不过,实际项目中更推荐使用集成在构建工具链中的FTP上传插件或任务,以实现更灵活和可靠的自动化部署。

回到顶部