windows上的上传和gzip文件无法找到路径

时间:2015-12-22 23:26:24

标签: windows scala playframework gzip

我是scala的新手并接管了一个项目,该项目正在上传并在将其传递给s3之前将其压缩。

文件在

中创建
case Some(activityId: Long) =>
        val tempFilePath = "/tmp/tack.%d".format(activityId)
        val gzipTempFilePath = tempFilePath + ".gz"
        val tempFile = new File(tempFilePath)
        gpsTackFile.ref.moveTo(tempFile, true)
        val fileName = Activity.tackFilePathFromId(activityId)
        val mimeType = "text/plain"
        val f = compressAndUpload(tempFilePath, fileName, mimeType)

压缩和上传在命令行上使用gzip,因为无法找到tempFilePath而失败

 def compressAndUpload(tempFilePath: String, dstFileName: String, mimeType: String): Future[Boolean] = {
    "gzip -9 " + tempFilePath ! match {

我认为问题可能是由于窗口和linux处理文件的方式有所不同,但尝试使用"""/tmp/tack.%d"""并没有解决问题(这是我在尝试正确转义windows的字符串时发现的问题)。

我得到的错误是gzip: /tmp/tack.1024.gz: No such file or directory

1 个答案:

答案 0 :(得分:0)

感谢响应中的@soong评论,我在我们的bash脚本中添加了TMP_DIR作为全局

case $OS in
    'Windows_NT')
    TMP_PATH="c:$TMP"
    ;;
    *)
    TMP_PATH='/tmp'
    ;;
esac

export TMP_PATH

这适用于Windows 10,我无法对其他版本发表评论。开头需要驱动器号,因为它不包含在$TMP变量