shell开发web项目之上传文件

shell 接收文件后端 ——busybox

while read kos
do
[ "${#kos}" -le "1" ]&&break;
koss="$kos
$koss"
done

zj=$(echo "$koss"|awk '{IGNORECASE=1}/Content-Length:/{gsub("\r","",$2);print$2}') //获取文件大小
vn=0
vv=0
while read filehead
do
[ "${#filehead}" -le "1" ]&&break;
[ "$(echo "$filehead"|grep ^-)" ]&&vv=${#filehead}
vn=$((${#filehead}+vn))
done  //获取文件信息头并且计算文件实际大小

dd bs=1 count=$((zj-vn-vv-10)) of=/tmp/oopp 2>/dev/null //通过dd读取流导出到文件
#gg=$(dd bs=1 count=$vv 2>/dev/null)
web前端
<script type="text/javascript">
        let button = document.getElementById('upload')
        button.addEventListener('click', event => {
            let fileObj = document.getElementById('img_file').files[0]
            if (fileObj) {
                let url = 'api/upload.xjs'
                let formData = new FormData()
                formData.append('image', fileObj)
                let xhr = new XMLHttpRequest()

                xhr.onload = function () {
                    console.log('ok')
                    console.log(JSON.parse(xhr.responseText))
                }
                xhr.onerror = function () {
                    console.log('fail')
                }
                xhr.open('post', url, true)
                xhr.send(formData)

            } else {
                console.log('请选择文件')
            }
        })
    </script>

1573835866(1).png


内容版权声明:除非注明,否则皆为本站原创文章。

评论