文件如何生成下载链接?

Posted 落水飘零

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件如何生成下载链接?相关的知识,希望对你有一定的参考价值。

做自媒体这些年,时常需要通过文章分享一些文档给读者下载使用,在文章中分享文档(如Word、Excel、PPT、PDF等),难免需要把文件生成链接放在文章中分享给粉丝。

做过自媒体的同学都知道,目前主流的自媒体平台,基本上都不允许在文章中直接添加外链,只能把文件链接通过文本或者二维码的方式分享。如果是公众号文章,可以通过附件小程序链接分享。

下面分别介绍一下如何把文件生成小程序链接网页链接

一、把文件生成小程序链接

小程序链接适合添加在公众号文章里面,可以实现点击链接直接下载文件。

第一步,把文件上传到简文档网站(https://iduodou.com),上传完毕即可生成文件对应的小程序链接。

第二步,点击文件记录“直达链接”下方的“复制”按钮,复制文件的直达链接。

第三步,把直达链接粘贴到公众号文章编辑器中合适的位置即可。注意,是公众号自家的编辑器,不是第三方的排版工具如秀米、135、96编辑器之类的。如果需要在第三方编辑器中使用,可以看一下这篇文章:秀米怎么添加附件链接

也可以把编辑好的文章导入到公众号自家的编辑器,再来添加附件。

上面就是把文件生成小程序链接的教程。添加完的附件链接是这样的:

二、把文件生成网页链接

第一步,打开百度网盘后台,点击“上传”按钮,选择文件上传到百度网盘。

第二步,点击文件的分享按钮,鼠标放上文件记录就会出现。

第三步,在弹窗中设置分享参数,按下图设置就行,提取码自己设定,设置完毕点击“创建连接”,生成分享链接。

最后,复制链接和提取码,即可把文件生成一个百度网盘分享链接。

如何生成 html 文件以提供 manifest.plist 文件的下载链接,以便将 ipa 安装到 iphone

【中文标题】如何生成 html 文件以提供 manifest.plist 文件的下载链接,以便将 ipa 安装到 iphone【英文标题】:How to generate html file to give download link to manifest.plist file in order to install ipa to iphone 【发布时间】:2013-05-29 04:45:46 【问题描述】:

我已经使用 jenkins 使用 xcbuild packageApplication 通过 xcode iphone 项目构建,方法是将其全局路径提供给 jenkins。使用包括设备 UDID 的临时配置文件。它正在成功生成 ipa 文件,但我们如何使用 jenkins.I 中的 html 文件分发它已经编写了一个 shell 脚本来生成清单和其他 jenkins 设置,它工作正常。我的代码如下:-

设置构建_参数化

在 jenkins 配置中设置构建后操作。

#!/bin/sh

function fail 
    echo "$*" >&2
    exit 1


function section_print 
    echo "\n=== $* ==="


section_print "Building $CONFIGURATION";

if [ -z $CONFIGURATION ]; then
    fail "No configuration specified";
    exit 1;
fi

#strange way to force backslash

if [ $PROJDIR ]; then
    PROJDIR=$PROJDIR%/
    PROJDIR="$PROJDIR/"
    section_print "Project Dir is specified and is $PROJDIR"
    cd "$PROJDIR" || fail "no directory $PROJDIR"
    pwd
fi

section_print "Unlocking keychain"
security unlock-keychain -p "password" ~/Library/Keychains/login.keychain

section_print "Cleaning build"
xcodebuild -configuration "$CONFIGURATION" clean || fail "Clean failed"

section_print "Building $CONFIGURATION"

xcodebuild -configuration "$CONFIGURATION"/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk || fail "Build failed"

section_print "Packaging ipa"

BUILD_PATH=build/"$CONFIGURATION"-iphoneos

#we are already in the $PROJDIR

cd "$BUILD_PATH" || fail "no directory 'build/$CONFIGURATION-iphoneos'"

for file in "*.app"
do
    APP_NAME=`echo $file`
done

APP_NAME=$APP_NAME%.*

section_print "Removing old artefacts"

cd "$WORKSPACE"

rm -f *.ipa
rm -f *.dSYM.zip
rm -f *.mobileprovision

#take $PROJDIR into account

section_print "Application name $APP_NAME"

cd "$PROJDIR$BUILD_PATH"

rm -rf Payload
rm -f "$APP_NAME".*.ipa
mkdir Payload

cp -Rp "$APP_NAME.app" Payload/

if [ -f "$WORKSPACE"/iTunesArtwork ]; then

    cp -f "$WORKSPACE"/iTunesArtwork Payload/iTunesArtwork

fi

IPA_FILE="$APP_NAME.$BUILD_ID.$BUILD_NUMBER.ipa"
zip -r "$IPA_FILE" Payload

section_print "Compressing dSYM"

rm -f "*.dSYM.zip"
DSYM_FILE="$APP_NAME.$BUILD_ID.$BUILD_NUMBER.dSYM.zip"
zip -r "$DSYM_FILE" "$APP_NAME.app.dSYM"

section_print "Exporting profile"

cp -f "$APP_NAME.app/embedded.mobileprovision" profile.mobileprovision

section_print "Get the profile name"

PROFILE_NAME=`strings ./profile.mobileprovision | grep -A1 '<key>Name</key>' | tail -n1 | awk -F'<string>' 'print $2' | awk -F'</string>' 'print $1'`
PROFILE_NAME=$PROFILE_NAME//'*'/
PROFILE_NAME=$PROFILE_NAME//'?'/
PROFILE_NAME="$PROFILE_NAME.mobileprovision"

section_print "Profile name is $PROFILE_NAME"

mv -f "profile.mobileprovision" "$PROFILE_NAME"
rm -f "$WORKSPACE/*.mobileprobision" || fail "Failed to remove $WORKSPACE/*.mobileprovision"
rm -f "$WORKSPACE/$IPA_FILE" || fail "Failed to remove $WORKSPACE/$IPA_FILE"

section_print "Copying $IPA_FILE to artifacts"
cp -v "$IPA_FILE" "$WORKSPACE/." || fail "Failed to copy ipa"
cp -v "$PROFILE_NAME" "$WORKSPACE/." || fail "Failed to copy profile"
cp -v "$DSYM_FILE" "$WORKSPACE/." || fail "Failed to copy dSYM"
section_print "Build succeeded"

#creating manifest.plist file to download ipa file

if [ -d "$WORKSPACE/$JOB_NAME" ]; then

  rm -r $WORKSPACE/$JOB_NAME

fi

mkdir $WORKSPACE/$JOB_NAME

cp $WORKSPACE/icon.png $WORKSPACE/$JOB_NAME/Icon-57.png
cp $WORKSPACE/icon@2x.png $WORKSPACE/$JOB_NAME/Icon-512.png

TARGET_NAME=$APP_NAME

info_plist=$(ls $WORKSPACE/*/*-Info.plist)

bundle_version=$(defaults read $info_plist CFBundleShortVersionString)
bundle_id=$(defaults read $info_plist CFBundleIdentifier)

cat << EOF > $WORKSPACE/manifest2.plist

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0" mimeType="application/xml">

<dict>
   <key>items</key>
   <array>
       <dict>
           <key>assets</key>
           <array>
               <dict>
                   <key>kind</key>
                   <string>software-package</string>
                   <key>url</key>
                   <string>http://192.168.0.237:8080/job/$JOB_NAME/ws/$IPA_FILE</string>
               </dict>
               <dict>
                   <key>kind</key>
                   <string>display-image</string>
                   <key>needs-shine</key>
                   <true/>
                   <key>url</key>
                   <string>$WORKSPACE/$JOB_NAME/Icon-57.png</string>
               </dict>
               <dict>
                   <key>kind</key>
                   <string>full-size-image</string>
                   <key>needs-shine</key>
                   <true/>
                   <key>url</key>
                   <string>$WORKSPACE/$JOB_NAME/Icon-512.png</string>
               </dict>
           </array>
           <key>metadata</key>
           <dict>
               <key>bundle-identifier</key>
               <string>$bundle_id</string>
               <key>bundle-version</key>
               <string>$bundle_version #$BUILD_NUMBER</string>
               <key>kind</key>
               <string>software</string>
               <key>title</key>
               <string>$APP_NAME</string>
           </dict>
       </dict>
   </array>
</dict>
</plist>

EOF

【问题讨论】:

【参考方案1】:

添加代码以在 shell 脚本中创建 html 文件

cat << EOF > $WORKSPACE/download.html
<html>
<body>
<h1>Download IPA Here</h1>
<a href="itms-services://?action=download-manifest&url=http://192.168.0.237:8080/job/$JOB_NAME/ws/manifest2.plist" mimeType="application/octet-stream">
    <b>Install App</b>
</a>
</body>
</html>
EOF

以及发布动作的一些更改显示工件上的下载文件。

【讨论】:

以上是关于文件如何生成下载链接?的主要内容,如果未能解决你的问题,请参考以下文章

公众微信平台ppt如何发

微信公众号怎么为用户提供文件下载

微信小程序开发基础注册账号

微信公众号,长链接转短链接,怎么操作

微信开发者中心怎么配置

如何开通微信小程序开发环境和生产环境