编辑 :
在发现 iOS 将每个图像上传为“image.jpg”后,我已经能够解决这个问题。在 freeASPUpload.asp 中,我更改了以下内容:
For Each fileItem In UploadedFiles.Items
filePath = path & fileItem.FileName
Set streamFile = Server.CreateObject("ADODB.Stream")
streamFile.Type = adTypeBinary
streamFile.Open
StreamRequest.Position=fileItem.Start
StreamRequest.CopyTo streamFile, fileItem.Length
streamFile.SaveToFile path & FileName, adSaveCreateOverWrite
streamFile.close
Set streamFile = Nothing
fileItem.Path = filePath
Next
至 :
For Each fileItem In UploadedFiles.Items
FileName = GetFileName(path, fileItem.FileName)
fileItem.FileName = FileName
filePath = path & fileItem.FileName
Set streamFile = Server.CreateObject("ADODB.Stream")
streamFile.Type = adTypeBinary
streamFile.Open
StreamRequest.Position=fileItem.Start
StreamRequest.CopyTo streamFile, fileItem.Length
streamFile.SaveToFile path & FileName, adSaveCreateOverWrite
streamFile.close
Set streamFile = Nothing
fileItem.Path = filePath
Next
这在脚本的保存功能中。GetFileName 函数迭代文件夹中已有的内容,并添加一个数字,直到它是唯一的。然后它将文件密钥更新为其新名称。我在临时文件夹中留下了一个“image.jpg”文件,这样它总能找到一个。这暂时有效。
然而,我发现,出于某种原因,它会将表单允许的五张照片中的第二张翻出来。
我会尝试解决这个问题/寻找其他有同样问题的人。我一直在 iPhone 和 iPad 旋转图片时遇到问题,而且从来都不一致。
我正在尝试从 iPad 和 iPhone 的移动设备群中获取多个文件。目前我有 5
<input type="file" name="fileX" accept="image/*">
这在浏览器中运行良好(使用免费的 asp 上传/经典 ASP)。在测试中,它适用于 IOS,但前提是我发送一个文件。如果我通过表单发送多个,我会收到错误“找不到文件”。似乎根本没有发送文件。
尝试通过 FSO 操作文件时,找不到文件会回退。
在这里上传:
Dim Upload, fileName, fileSize, ks, i, fileKey
Set Upload = New FreeASPUpload
SaveFiles = ""
uploadsDirVar = "directory"
Upload.Save(uploadsDirVar)
ks = Upload.UploadedFiles.keys
错误在这里:
Set f=fs.GetFile(uploadsDirVar & "\" & Upload.UploadedFiles(fileKey).FileName)
关于如何解决这个问题的任何想法?我读过的所有内容都指向单个输入上的 HTML5 多标签。但是,在我的情况下,这是行不通的。我还根据字段名称将图像描述绑定到字段,将上传限制为 5,在操作页面上重新调整图像大小,然后将其传递到最终目的地并将它们附加到电子邮件中。
欢迎任何建议,并感谢您的时间!
**编辑
问题似乎是 IOS 将所有上传的“图像”命名为来自相机或库。现在的问题是如何在脚本尝试上传图像之前重命名图像。据我了解,它需要在放置文件之前在 asp 上传组件中发生。