我想获取选择文件的文件路径,但是根据浏览器本身的安全性,无法读取文件路径。
例如,firefox 只读取文件名(ex test.txt)。
关心它,我该怎么做才能读取bash shell脚本中选择的文件按钮的文件路径?
我需要文件路径的原因是我想将文件上传到服务器,所以我想使用命令 cp 来做,比如:
cp filepath(and filename) serverpath
我可以使用简单的按钮(type=button 而不是 type=file)用特殊的方法(用 type=text 来做这个技巧)吗?
我试过的原始代码是:
#!/bin/sh
#=================================================
# PATH defination
# ================================================
#=================================================
# Main
# ================================================
echo "Content-type: text/html"
echo "Pragma: no-cache"
echo ""
echo "<HTML><HEAD>"
echo "<meta http-equiv=content-type content=text/html; charset=UTF-8>"
echo "<TITLE>$msg010</TITLE>"
. ${WWW_SCRIPTS_LIB_PATH}/style-init.sh
echo "</HEAD>"
echo "<BODY>"
ShowSubLogo "$msg010"
if [ "$CONTENT_LENGTH" != "" ]; then
read data
filesplit1=`echo $data | awk -F'&' '{print $1}'`
if [ "$filesplit1" != "fileis=" ]; then
filename=`echo $filesplit1 | sed "s/%20/ /g" | cut -f 2 -d "="`
fi
fi
echo "<br> </br>"
echo "<br> </br>"
echo "$msg050"
echo "<br> </br>"
echo "<form name=Updfw_form method=post action=EippsUpdate.cgi>"
echo "$msg020"
echo "<input name='fileis' id='UpLoad' type='file'>"
echo "<br> </br>"
echo "<input name='update' value='$msg030' class=bton_over value=\"$com010\" type='submit' onmouseover=\"this.className='bton_out'\" onmouseout=\"this.className='bton_over'\">"
echo "<input name='cancel' value='$msg040' class=bton_over value=\"$com010\" type='reset' onmouseover=\"this.className='bton_out'\" onmouseout=\"this.className='bton_over'\">"
echo "</form>"
echo "</BODY></HTML>"
它只是读取文件名,在 crome 浏览器中,它无法工作。
还是有另一种方法可以将文件上传到用户可以选择的服务器?我搜索并很少看 bash shell 版本的示例。
只是整个文件路径!或者上传文件到浏览器!
任何答案表示赞赏。