session [:previous_url]和request.env [“ HTTP_REFERER”]之间的区别

时间:2019-10-01 12:26:37

标签: ruby-on-rails http session http-referer

session [:previous_url]和request.env [“ HTTP_REFERER”]有什么区别? 我收到public class MimeMultipartData { public static class Builder { private String boundary; private Charset charset = StandardCharsets.UTF_8; private List<MimedFile> files = new ArrayList<MimedFile>(); private Map<String, String> texts = new LinkedHashMap<>(); private Builder() { this.boundary = new BigInteger(128, new Random()).toString(); } public Builder withCharset(Charset charset) { this.charset = charset; return this; } public Builder withBoundary(String boundary) { this.boundary = boundary; return this; } public Builder addFile(String name, Path path, String mimeType) { this.files.add(new MimedFile(name, path, mimeType)); return this; } public Builder addText(String name, String text) { texts.put(name, text); return this; } public MimeMultipartData build() throws IOException { MimeMultipartData mimeMultipartData = new MimeMultipartData(); mimeMultipartData.boundary = boundary; var newline = "\r\n".getBytes(charset); var byteArrayOutputStream = new ByteArrayOutputStream(); for (var f : files) { byteArrayOutputStream.write(("--" + boundary).getBytes(charset)); byteArrayOutputStream.write(newline); byteArrayOutputStream.write(("Content-Disposition: form-data; name=\"" + f.name + "\"; filename=\"" + f.path.getFileName() + "\"").getBytes(charset)); byteArrayOutputStream.write(newline); byteArrayOutputStream.write(("Content-Type: " + f.mimeType).getBytes(charset)); byteArrayOutputStream.write(newline); byteArrayOutputStream.write(newline); byteArrayOutputStream.write(Files.readAllBytes(f.path)); byteArrayOutputStream.write(newline); } for (var entry: texts.entrySet()) { byteArrayOutputStream.write(("--" + boundary).getBytes(charset)); byteArrayOutputStream.write(newline); byteArrayOutputStream.write(("Content-Disposition: form-data; name=\"" + entry.getKey() + "\"").getBytes(charset)); byteArrayOutputStream.write(newline); byteArrayOutputStream.write(newline); byteArrayOutputStream.write(entry.getValue().getBytes(charset)); byteArrayOutputStream.write(newline); } byteArrayOutputStream.write(("--" + boundary + "--").getBytes(charset)); mimeMultipartData.bodyPublisher = BodyPublishers.ofByteArray(byteArrayOutputStream.toByteArray()); return mimeMultipartData; } public class MimedFile { public final String name; public final Path path; public final String mimeType; public MimedFile(String name, Path path, String mimeType) { this.name = name; this.path = path; this.mimeType = mimeType; } } } private String boundary; private BodyPublisher bodyPublisher; private MimeMultipartData() { } public static Builder newBuilder() { return new Builder(); } public BodyPublisher getBodyPublisher() throws IOException { return bodyPublisher; } public String getContentType() { return "multipart/form-data; boundary=" + boundary; } }

library(dplyr) df %>% group_by(location) %>% filter(row_number() %in% 1:5)

request.env给了我立即被调用的最后一个,而session给了倒数第二个URL。有人可以帮忙吗?我是这个领域的新手。

0 个答案:

没有答案
相关问题