如何使用jquery在服务器中获取文件上载临时位置

时间:2011-11-25 04:47:26

标签: jquery html5

使用jquery或仅使用javascript在服务器中获取文件上传临时位置。

是否有可能在javascript本身中获取文件上传的临时位置。

在Html中

 <input type="file" id="ProfileUserImage" class="fileInput" name="data[Profile][userImage]" onchange= "getTempLocation()"> 

在Javascript中

 function getTempLocation() {

   // code to get temp location of file.

  }

1 个答案:

答案 0 :(得分:0)

正如Blender所说,不,你不能。如果您使用的是PHP,我知道在脚本终止时会从文件系统中删除临时文件。

您仍然可以解决问题:

我正在猜测你想做什么,但这可能会有所帮助:

  • 使用服务器,您需要将图像保存到新位置。这可能是您自己的“临时”位置。
  • 将新位置传回客户端,可能使用AJAX并显示图像。
  • 然后,用户可以批准该图像,然后您可以向服务器发送请求以将图像保存到永久位置。
  • 如果用户在批准图像之前存在该页面,则使用CRON作业以适合您的频率删除临时文件。

编辑:

文件上传的PHP手册将告诉您如何上传文件并将其移动到新位置。见here。上传图像后,将位置保存到DB或用户会话中,以便稍后显示。脚本完成后重新加载页面并创建一个指向新图像源的HTML图像元素。

如果您想使用ajax进行操作,则需要使用iFrame或使用XMLHttpRequest进行文件上传,但以这种方式传输文件仅适用于较新的浏览器(至少FF 3.6,IE9,Chrome不确定) )。有几个库可以执行此操作,请参阅here。将ajax文件上传器指向php脚本(与之前相同),一旦上传完成,获取php脚本以返回新位置作为JSON或其他内容(如果您愿意)。使用Javascript,您可以访问JSON并获得文件位置。 DONE!

你要做的事情并不太难,但也不简单,所以不要期望在5分钟内解决你的问题。文件上传库可以帮助您完成大部分工作。